Buying O2 guarantees you a few things:
1) O2 active will be available, and if installed (which at least is optional on the exec without needing silly corporate codes) it will make your device crash much more than devices that dont have it. I have no confidence that O2 will sort out the O2 active issues that exist on the XDA IIs
2) You will wait *eons* for firmware updates. O2 are still shipping devices with BT build 3500, rom 1.31.00, radio: 1.06. They are now about 6 versions behind and there is no news of whether there will *ever* be an official update to the latest and greatest. For the record, BT3900, rom 1.41, and radio 1.12 are the latest.
3) You will get a cheaper device than if you bought it elsewhere.
So.... if you buy O2 then be prepaired to hack around with it, cook your own roms, and rely on timely updates from *other* vendors (which will need to be hacked for the O2 XDA) to fix the bugs on your exec.
O2 do not aknowledge or fix bugs on their devices period.