The location API only seems to work for me when I warm up the GPS by opening Nokia Maps or Google Maps.
The Google Maps app has a status balloon which shows the number of satellites and lets the user know when the connection is active, however I have not found anything in the J2ME Location API docs which specifies how to do this.
It seems like these apps are calling some function which kick-starts the GPS. Without opening them the Location API will just time out in my app.