I have had issues with GPS on my iPhone since I bought it, regardless of the firmware version. Often the GPS will not lock on, just giving the general location circle or saying that it can't find my location at all. I had high hopes that 2.1 would help somehow, but it actually got worse after 2.1. After searching online the "solution" was to turn off 3G, locate, then turn 3G back on... or if this doesn't work restart the phone. Usually if I turn the 3G and/or Wifi off/on the GPS will eventually lock on, but even after locking on the GPS tracking doesn't work well. While driving, the dot will often stop moving, then jump forward half a mile when it figures out where I'm at again... or it will completely lose signal and go to the general area circle again, and eventually it may lock back on to GPS. I would just dismiss it as the iPhone GPS being buggy, but in testing on other iPhones I do not see the same problem. I used my dad's iPhone right next to mine on several occassions while driving down the road and his always locks on to a signal without fail and holds the signal with the beacon accurately following.
I am strongly considering swapping the handset as defective. My concern is that I am a past the 30 day timeframe that AT&T states on their website I can exchange the handset with them, and in reading Apple's exchange policy it looks like I will end up having to send my phone to them and be without a phone while waiting for them to send it back unless I want to pay for a rental phone from them. I'm nowhere near an Apple store so going directly to Apple is not an option.
The point of the long post is to let you know others are having this problem. If you are within the timeframe to easily swap your phone at an AT&T store I would say give it a shot.