I'm on a 2G and was actually looking forward to upgrading to a 3GS. I can't, not without buying out of my contract and signing a new one at the same conditions as a new customer. And once I have finished my contract, again, I'll be no better off than an new customer. Spiffing deal, really.
I'll keep the 2G and once the contract expires, I'll flog it and move on to another provider. There's better deals to be had than that.
I'll only get another iPhone once it's no longer exclusive to O2. According to a German news site, T-Mobile's exclusive deal for the German market is about to end - there may be hope for the UK too.
I wouldn't be surprised if O2 offered reasonable upgrades in the not too distant future once the iPhone sales stall...by that time many will already have voted with their feet.