The cheapest way to get a 32GB iPhone 3G S - in the long run - is with O2's lowest tariff, the 18-month option that's around the £30 mark, and paying £275 up front for the handset.
The £29.38 contract (just shy of £30 'cos of the VAT reduction, but the equivalent to your old £30 level) and coughing up that painful £274.23 for the phone up front will have set you back a total of £803.07 by the time your contract ends.
In contrast, the most expensive way to pick up the top-end new Apple mobile is to go for the option that, on the face of it, appears to give you a "free" phone.
O2's 24-month £73.41 contract - and the only one that does offer the 32GB iPhone 3G S for nothing up front - will have cost you a staggering £1761.84 when the 2 years are up.
Although obviously O2 offers more inclusive minutes the more expensive the contract is, the text message allowance jumps to 500 after the £30 contract and stays at that level despite your spend. In the middle ground, the following applies:
£34.26 monthly, £274.23 for handset = £890.91
£44.05 monthly, £175.19 for handset = £968.09
£73.41 monthly, £96.89 for handset = £1418.27
£34.26 monthly, £175.19 for handset = £997.43
£44.05 monthly, £96.89 for handset = £1154.09
Alternatively, O2 is offering the 32GB model for £538.30 (sans visual voicemail and tethering), but, over a 2-year period, including your year's free unlimited mobile internet, assuming you'd spend £20 a month topping up, you're still looking at an overall cost of £1138.30.