Just wanted to let you all know. I have been negotiating an upgrade with Vodafone for the past month and they were offering me very poor deals. I have spoken to them again today and all of a sudden they have given me exactly what I wanted! I realised that today is the first day of the last month of my contract.
So basically my advice to everyone is to wait until the last month of their contracts before negotiating upgrades because thats when they start offering the best deals!