See MeatBall:FileReplacement.
Note that I added some ugly debugging output to the maintenance results screen. And made it possible to maintain as often as you wish.
I changed the ProcessVetos? subroutine to be called from a new sub, MaintainProcessPage? (which is itself called from DoMaintain? in lieu of ProcessVetos?).
I changed FileReplacement so that you can replace any file, not just any existing one (of course, UsemodUnsafe? and PerlSafe still prevent you from changing anything above the /spw directory).