I took out Vodafone's £10/month 30 day rolling contract about 2 months ago. For this I got 100 minutes and 500 texts, which is one of the better deals out there. However, I discovered that if you upgrade from this to a 12 month contract you can get a free phone and keep your current price plan. So, assuming you are on the Vodafone £10/month 30 day contract, Vodafone's online system allows you to upgrade to a new phone in the last 70 days of your contract, so technically you are, like myself, eligible. So if you login to your online account, there should be a link under 'My products and plans' called 'Upgrade my phone'. Click this link and fill in the details required. Then ,once on the upgrade site, click the link on the left hand side saying 'Upgrade my phone'. Select the '12 month' option at the top of the list of phones and you should see a number of phones, including the HTC Magic, listed as being free. Add it to your basket and it should show no cost for the phone with the all-important phrase 'Your existing price plan' underneath. So by committing to £120 worth of contract you should be getting a phone worth £350 + VAT (according to Vodafone themselves) and your minutes and texts.
The phones available for free include:
Samsung Tocco Ultra
Nokia N97 (£63.25 on 12 month)
Good luck and I'm here to help should it be needed :)
EDIT: See post 10 for evidence
EDIT #2: You should be able to get £15 Quidco online for the SIM-only deal, making your potential losses, at worst, £5.
EDIT #3: Quote from rmg:
Hi, I can confirm that I have just done this.
Currently on 30 day 100+500.
Upgraded to N97 for 12 months on existing tariff for 63.25.
Went through quidco as well.
What a deal, thx a million to the OP.