but Im away at the weekend, and wont get time to go into the shop
Don't bother going to a shop, there's little point. Hardly any phone shops are actually anything to do with the phone company they represent, they're all just franchised dealerships and completely unrelated. If you buy a contract or pay a bill or anything through a phone shop you are just paying them for the privelege of dealing with O2 for you, you can save more by dealing direct because O2 then don't have to pay commision. If you want to talk to O2 you have to phone O2. The same goes for whoever sold you the two year sim only contract, it probably wasn't O2. This was a very common practise 2 or 3 years back. There were all these dodgy tele-sales dealers phoning people up and pretending to be from the network giving people ludicrous deals on long contracts, the networks hated them and got most of them shut down. The only network that is still plagued by this is 3 because their name can't be trademarked so anyone can phone you up and say 'This is John from 3 calling...'. About three years back I was working at the 3 head office operating their post room and loads of people who worked in the building were getting calls pretending to be from 3, it was very funny when you demanded to know where in the building you were being called from. Especially since nobody who works for 3 has a 3 phone because they are so awful!
Phone O2 customer service. Demand a new contract on the same terms and an upgrade. Tell them they've been loosing you a lot of texts and tell them the service has been generally poor. Tell them you can get your deal matched with another supplier who will also give you a phone into the bargain, and you are seriously considering taking the offer. Remind them you are out of contract, an out of contract customer is the most negotiable asset a phone company has. Be friendly and pleasant, but remain in control of the conversation and don't be afraid to say 'Ok goodbye then' and hang up. You can always call back if they don't call you. They will say things like 'oh I can't match that but how's this...'. Don't cave in. Eventually they will offer you a deal that you want and are happy with. They know from their data which of their current tarriffs is best for you to be on, and they know which is best for
them for you to be on in terms of profit. Because of market saturation it is less easy than it was 5 years ago to walk all over the network and take them for everything they've got but you can still get a good deal.
It may be that if the contract you had came from an outside supplier it is actually costing them money to service it at that level and they will want you on a more standard tarriff, they should offer you the closest current standard tarrif to what you currently have and a phone into the bargain and will do this just to get rid of the uneconomic tarrif. Each of the networks has a collecation of prize customers who are on older or 3rd party supplier tarriffs that are simply outdated and uneconomical to run and one of the highest priorities for the sales department is to shift these people onto a modern tarriff at all costs. T-Mobile offer people serious money to buy back the old original Mercury free calls to anyone, any time contracts that they have to service.
Basically you may not be able to keep exactly what you have now but you should get something close and get a phone. You don't have a right to keep going under the current arrangement if you want to change the terms by adding a phone bursary. Once you know what they are offering you, you might decide it is better to keep going under the existing terms but out of contract and buy a new handset from someone who is selling off an unwanted upgrade.