It sounds like you migh have a lot of more general questions related to scripting data clean-up, but with respect to recoding, my practice is to use the "recode script" option. I can begin to recode, then stop, save and run the recode script, do more recodeing, and then merge the new chages with the old recode script in the table. All of this is just button clicking to generate the recode script and to do the recode merge.
Recenlty I've been using query builder to get data, so then I just copy the recode script to the post query script tab and I get pre-cleaned data when I run the query the next time.
As far as documenting the changes goes, the recode script its self is a pretty good record and the script is explicit and easy enough to read that I can edit my redoce mistakes later.
JMP Systems Engineer, Health and Life Sciences (Pharma)