Always backup the production code on the servers before updating it. Even with source control, and strict CM, you can't go home again.
I can't tell you how true that point is. Our release program automatically makes a backup of the old code (places it into an archive dir actually). That way we can easily swap back to the old version if something unexpected happens.
Oh and I know you wrote this 14 months ago but I've only just read it :-) Hey, better late than never right...
--
vek
--