I took a look at flycaddie as well and it's eye candy for sure. However the price is a bit steep, even for an app store whore such as myself. I use teeshot now and i don't even use it for GPS, just to keep track of my group's scorecard. I find that using GPS is simply a pain in the ass on the iphone as far as golfing is concerned. It's just too slow to get an accurate fix, not to mention that the battery is pretty much drained when using gps by the end of the round.
right now, i have a unique system whereby i use a Suunto GPS watch. Using google earth to get coordinates to the center of the green for my local course for every hole, i've programmed this as waypoints into my watch. It will basically give me distance to the center of the green from where i stand, and the beauty is no wait time to get a fix, the gps watch is getting a fix every second. The only problem is a precision issue where the watch gives me distance in miles to the waypoionts up to 2 decimal places. So for example, it may say .09 miles to the center of the green, and that translates into 158.4 yards, however, .08 miles is 140.8 yards and .10 miles is 176 miles. So, because the precision is only to two decimal places you have a +/-deviation of about 17 yards. This could mean the difference between a club length. However as I approach the ball on the fairway, i keep an eye on the reading and if switches from .10 miles to .09 right before i get to the ball, i know that it is closer to the .10 mark than .09. Just takes a little paying attention. Played a few rounds with this with pretty good success and the beauty is no drained iphone after 5 hours of golf since i'm not using the gps on my iphone.