I've been doing some experimenting with the iPhone 3Gs' GPS in, what I'll call, the stand-alone mode.
I've got the airplane mode off, but have the SIMM Pin turned on (the SIMM is locked). I do this so I don't incur any roaming charges when I'm overseas.
In this mode, and using MotionX, I am able to get a basic GPS signal and am able to determine my Lat/***. It does, however take a bit of time for the iPhone to acquire the GPS satellites... Took about 10 minutes today in Dubai, UAE.
On a normal GPS device, it takes a fair amount of time for it to acquire satellites, since it needs to figure out where to look for those satellites. It also needs to figure out which specific satellites are overhead. The satellite constellation varies from place to place over the face of the earth, so if it doesn't know approximately where it is, it takes a long time to look up and see what's available in orbit. Often you can set an initial Lat/***, or a nearby city in the GPS unit to facilitate it's initialization, which, in turn, speeds up satellite acquisition.
The iPhone apparently gets it's initialization location from an Edge, 3G network, or WiFi. With the SIM locked, it can't use Edge or 3G to get an initial position for the GPS, and thus it takes a long time for it to acquire satellites.
Try turning it on, and just letting it search...
Bob