For those of you who are conscious of bandwidth usage, I found a useful 'FireWall' app for Android over the weekend called DroidWall (requires root).
It lets you allow / refuse access to Wireless or 3G on an application by application basis. I have not been able to test it fully yet, but it appears to do the business.
Unfortunately it does not have a notification system, i.e. "Application x is attempting to access the 3g network, do you want to allow it yes / no / this time only / remember this setting" etc. But it is still pretty handy if you want to enable 3G, but only limit it's use to a sub-set of applications to reduce bandwidth usage.