I currently have the (very buggy) Samsung Galaxy i7500 Android phone. I'm only 7 months into an 18 month contract so have been looking at sim free handsets as I can't cope with this for another 11 months!
The HTC Desire is currently around £400 sim free but I've just phoned O2 and they offered me an "in-contract upgrade" for £285!
OK, £285 is not exactly a "Hot Deal" mid-contract, but given that I was looking at £400, it's really not bad! I'm going to keep the phone, but someone else might think about getting the phone for £285 and sticking it straight on a well known auction site where they are easily reaching £370! ;)
I have no reason to believe that this wouldn't apply to any O2 customer ringing to "upgrade". I went through to cancellations and suggested that I was thinking about buying myself out of contract to take a new contract with free phone elsewhere.
Edited to include info from speedski:
"Phone 202 - press option 2, option 2 and then finally the third option 2 for the 'if you're thinking of leaving o2'
DO NOT CALL SALES OR UPGRADES - YOU MUST CALL THROUGH TO 202, opt 2, opt 2 and opt 2."
"When you get through say you would like to buy a HTC desire for £285 - do not mention your renewal, don't mention upgrades."
Menu > settings > about phone > system software updates > check now
You should get the 2.2 Froyo update with the option for mobile data and/or wifi