What's O2's normal policy? When the existing contract expires, what should we expect to pay for the 3G anyway? Would you normally, once out of contract, get the fully subsidised price?
If so, this means there's a window, between the offer and contract expiring, during which you can't upgrade. But would that be can't upgrade at all, or can but would have to pay more? In which case do we have any idea what the cost would be?
To address the OP's point, if there are alternative carriers coming, how much difference would your longer tie (which comes at a cost to O2) make, since you could still switch at the later time? Why would people want to switch anyway? Are O2 that paranoid about their service?
Unless, perhaps, a little after the deadline O2 loses exclusivity AND there's another new iPhone.