The gps issues on my vibrant have been driving me crazy. I think I have everything worked out now. I consistently get a lock (6+sats) in 20-30 seconds after boot. Maps/navigation work great now:
1. Hardware fix from this post: http://xdaforums.com/showthread.php?t=878970 - It's easy and only takes about 10 mins. I just bent the antenna up slightly. The soldering method is unnecessary.
2. Odin back to stock 2.1 vibrant rom. - You have to search for this, I lost the link. Also for this, I had to download Keis for the drivers. These were the only ones that worked with Odin.
3. SuperOneClick
4. CWM stock/deodexed 2.2 from here: http://xdaforums.com/showthread.php?t=1036193&page=23
5. CWM the 4/18/2012 nightly from here: http://download.cyanogenmod.com/?type=nightly&device=vibrantmtd I don't know if other versions will work!
6. CWM the newest gapps from here: http://wiki.cyanogenmod.com/wiki/Latest_Version/Google_Apps
7. CWM sub zero from here: http://rootzwiki.com/topic/22833-kernelics15-apr-subzero-v11-build-70-extra-ordinary/
8. Turn on gps.
9. Install gps status: https://play.google.com/store/apps/details?id=com.eclipsim.gpsstatus2&hl=en - Go to setting - display and tools and check keep the screen on.
That's it. Reboot, and start gps status right away. Wait for a lock, then you can close the program. After that, the phone locks very quickly in Maps, Navigation, etc...
I hope this helps everyone out.
After quite a bit of testing, I can confirm this is working 100% for me. GPS lock after start-up is always <30 seconds. Lock after deep sleep is <80 seconds (often <60 seconds).
I always get a lock.