Another question though, if say I first develop my game in the free version of unity, but in future decide to upgrade to pro, would it be easy to convert over? or would it almost feel like reprogramming the entire game in a different engine?
This question brings up another issue with Unity3D that hasn't been mentioned yet. The compatibility between versions is horrific. Your scripts are always safe and can be backed up and transitioned over to another version of Unity3D, however the data storing what script is on what and where that texture is or this collider gets lost in the transition.
Worst case scenario, you have to manually reattach (From your memory) each component.
However, transitioning from pro version and free version as long as they are the same decimal version (2.5 or whatever it is right now) should be fine.