I usually create a branch when upgrading a project. This gives you a controlled environment to do full testing on the entire application after you upgrade. Once testing is done, I just take the same steps as upgrading the branch line and upgrade my mainline.
Also here is a link to the documentation on upgrading from 6 to 7
Not a stupid question at all. If you have a production app up and running, you probably want to keep the main line as close to the production version as possible just in case a hotfix is required due to a critical defect. I recommend you do your upgrade in a branch line and then merge it back to the main line when it is ready for a roll out to production. I don't expect too much trouble when going from 6 to 7, but you do want to branch and test before merging those changes back in.
Thanks guys, I appreciate the input.