If you phone them up asking to cancel the contract, they will transfer you to "O2 customer retention" where they will basically grovel for your custom. I got my £25 tariff halved in price (same minutes etc) plus a new phone (basically any of the "free" ones when you start a contract). I got a d500 when they came out first, and boshed it on eBay for £200. All because I threatened to cancel the O2 contract and phone Orange... However, the exec is pretty expensive really, so I don't know if I would expect it any cheaper than £150... What about the xda mini?
At the end of the day, a £15 contract for a year compared with £30 will save £180, so it's maybe worth haggling the contract down and not worry too much about the price of the phone. Plus if you keep the contract for longer than a year then you're in the money :P