I believe the answer is...it depends. :)
The minute you start altering files in ~/Sitefinity/ you begin to risk future upgrade problems.
In an ideal world, you would never make changes to any files stored in ~/Sitefinity/. Instead you would create your own separate files & use the "ControlTemplate" property to reference your customizations.
This would provide a clear separation between "your stuff" & "Sitefinity stuff". When a new version of Sitefinity gets applied, the files in ~/Sitefinity/ tend to be overwritten with the new version. Any customizations you directly make to them would be overwritten.
In practice, I've found this path hard to follow though. I often end up making changes directly to files in the ~/Sitefinity/ directory. Upgrading then requires me to re-apply my customizations to the ~/Sitefinity/ files.
In most cases, this isn't too bad. A simple copy & replace will frequently work. Sometimes new controls are introduced with version changes though. In these cases I'm forced to compare my custom version to the updated version and merge the two.
There is talk of removing most (all?) of the ~/Sitefinity/ files in future versions. These files would instead be embedded in the DLL files. Meaning Sitefinity would be entirely contained to a handful of DLL files.
You would then have the option to selectively export these files for customizations. In my mind, this would offer a clearer upgrade path. It would be very easy to identify where Sitefinity ends and your own customizations begin. Thoughts?
In the meantime, it really isn't too bad. Just be conscious of what you're editing and keep track of it. When you upgrade, just do a quick check of these files and you should be fine.
Thanks for giving Sitefinity a look Chris. We would love to have you as part of the Sitefinity community.