The major issues with the Nexus One at launch were because it would prefer the stronger of 3G or EDGE. T-Mobile's 3G network, which is still in its infancy (at least compared to their competitors), was not as good as their EDGE network, so the N1 would switch to EDGE which had a stronger signal. But, a strong EDGE signal isn't necessarily better than a weaker 3G signal. 3 bars or 3G can still be faster and provide clearer quality than 5 bars of EDGE. So a simple software update was able to reduce the phone's thresholds for falling back to EDGE, and I'm happy to report that my Nexus One (AT&T version) constantly holds a 3G signal unless I'm truly outside of AT&T's 3G coverage area.
The iPhone on the other hand, seems to be a hardware issue caused by bridging the antennas. A software update won't be able to fix it.