we use source safe. I use version numbers, and comments in source safe to document changes. Unfortunately, since CR is stored as a binary, source safe doesn't display changes, just that they are different. Also, our changes are initiated by a work order system, and I include notes in the resolution there as well as the number in the check in part of source safe.
This way, hopefully, there is document that says what I should change and why, and a version number and notes about what I did change, and a way to cross reference and hopefully determine when and why a version is in source safe.
HTH