First off, a heaping helping of thanks to Mr. GPS for a little light in the darkness here.
You're obviously more expert (by a lot) on these matters than I am, but I do still have one reason for being concerned that there may be at least some hardware issue at play here in addition to the software problems you describe.
I was at lunch on Friday with my boss, who has an HTC Evo. We were in a restaurant, which was a standalone brick-faced, steel frame commercial building. We were in the interior, probably 40-50 feet from any window or door. We put our phones on the table (his Evo, my Captivate) and both launched the GPS Test app. His saw 6 satellites with 4 fixed almost immediately-- my Captivate saw nothing at all for several minutes, then eventually saw 1 sat, but couldn't lock it. After lunch we repeated the test out in the parking lot. By the time the GPS Test splash screen had cleared, his already had 6/8 and went to 8/10 within a couple more seconds. Captivate again started with nothing, gradually adding one at a time. Eventually Captivate did see 8-10, but had a lot of trouble holding a fix. His was steady at 8/10, mine kept going 3/8, 2/8, 6/8, 2/8, 0/8 etc, with the accuracy fluctuating wildly as the sats were acquired and lost. Also, the SNR on the Evo was 30-45 on most of the sats, while on the Captivate it was in the 20-35 range, and kept bouncing up & down, while the Evo's were pretty steady (not completely steady, but a lot more so than the Captivate).
Since GPS Test appears to be displaying the raw sat data including which sats it sees and the SNR on each one, the fact that the Captivate had weaker signals even once it saw the sats said to me that it had inferior hardware, like maybe an insufficient or poorly placed antenna. Am I way off base here? Do the symptoms that I saw sound like they can be fixed with a firmware or driver update? Maybe with better software the data that it got would be sufficient to lock more sats and derive a good location, but the fact that the SNRs were always worse just seems to say to me that no matter what you do in software, you're always going to have less to work with. Ie., a hardware problem of some sort, antenna being my best guess.