This is one reason I don't use custom skins. I do have a few things I edit, but I keep a documented list of which files I have changed, and what the change consists of. I can do a complete upgrade to the latest version in about 30 minutes, generally less.
As a side note on upgrading, I never actually upgrade, I always install fresh on a new copy of the out-going version's database. Using aliases in Apache, I can run both old and new simultaneously while I set up and test the new. Once I've got it all set up, edit the alias in the Apache config, restart Apache and the new version is live. No user downtime. Gives me a roll-back option too, should something break badly.