Any chance you can post the changed script or explain how to make that change?
Sure, it's a real easy fix. I've attached the modified script, but just to record it for posterity in case people want to modify it again with later versions, here's how it works. You go to game\scripts\core\functions\player_class.rpy, and search for the lines that say "writing.all(0)." That's the line that causes the body writing to be removed. For the one that's under "wash(self)," just delete it, and then washing up without taking a full shower won't ever erase body writing. For the one under "shower(self)", insert another line above writing.all(0) which says,
if loc_to == "bathroom": (and then indent the writing.all line, or else the script won't know it's conditional on that if statement). The "bathroom" location specifically points to the bathroom inside the MC's home, not just any bathroom. So if you take a shower at school (or in Haven or whatever), the condition will return false, and the writing.all line will not be triggered.
(The attached file was modified from the 2.40 version; I tested it once to make sure it works, but haven't played this version extensively yet.)