If your phone is locked to another network like AT&T, it will not work with an O2 SIM card.
For it to work in that case, you will need to be on 3.0 or 3.0.1, and to have jailbroken your phone and installed ultrasn0w. If you're already on 3.1 then you will not be able to do this.
If you're from a country that sells "factory unlocked" iPhones and you have one of those, then yes you'll be fine, and the O2 excessive use clause won't be a worry as the iPhone data usage is not all that great.