You may have tried this but ring Orange and choose the options that lead to 'I want to leave Orange' They are able to offer you an upgrade 3 months before your contracted date at huge discounts. You will talk to 'customer retention' instead of 'sales' or 'customer service' (same guys but they get a different computer screen with more options due to the route you took on the automated press#x forx)
I have just done this and got a SIII at a massively discounted rate (Good as free) 3 months early.
Another option is to go to Phones 4U and have them buy you out of your current contract to start another one. Check what would happen to your magic numbers etc, even staying with Orange as this could be a factor if you have been with them a long time and use the loyalty benefits.
Best bet is ring Orange and just say to them "I want a phone now or I will leave at the end of this call." It's amazing how their attitude will change