If you never want to wait for an unlock longer than its imminent release,
Get an iPhone on launch day. And never update anything until the developing team has done work to it. On 4.1 and 1.59.00 unlocked in Europe right now, works great.
I made the mistake of swapping phones (not really because the LCD was caked in dust and battery didnt hold a charge) so I went from a launch day phone to a new bootrom 3GS and had to wait for Spirit 3.1.3 and eventually the unlock.
This isn't really helpful. But I learned the hard way last time.
Keep it in mind for iPhone 5 🙂