First post so please be gentle.
First of all, just to clarify that this deal applies only to existing O2 customers who are in the last month of their existing contract. Also, this is a brand new iphone & not reboxed or refurbished.
This is how I got the deal. You want to deal with O2's retention department & not their normal upgrade centre. Below is a step by step description of how to do this
1) Call 40202 from your O2 mobile
2) Options 2>2>2
3) Listen to some crappy music for about 10 minutes & you should get through to somebody
4) Ask for your PAC code (this is the code required to switch networks whilst retaining your number) This is an important step because it signals to the network of your intention to leave.
5) Normally at this point you should be asked why are you leaving O2? You could say whatever you like here e.g. "because you met a flying monkey who told you to switch to T-mobile" etc.
But this is what I said 'I plan on switching to Vodafone because they're offering the iphone 3GS free on a £50 a month contract for 18 months.
6) At this point depending if you're dealing with a moron or not, they should suggest to you either a new iPhone or a reboxed iPhone free on a £35 for 18 months. If not, then ask he/she if they could match or better Vodafone's deal. They'll normally offer you the 16gb version so make sure you enquire about the 32gb.
Hopefully, this helps you guys out. Been waiting for 6 months to get the Iphone that got mugged off me in Rio replaced (moral of the story = make sure you have travel insurance if you're going to Brazil)
Ps. A note about the PAC code, they'll only deactivate your account once you actually use it, so no need to fret if you don't want to leave your lovely O2 network.
Pss. If you're about to vote cold, consider that the 32gb iphone 3GS on £35p/m for 18 months would normally set you back £275.