Automatically saving upon compilation, combined with "Undo" actually being independent functions for each module and consequently no longer linear, has caused an incredible amount of frustration for me. Now I accomplish the same result as "Save As" by copy/pasting the file within Windows Explorer, and replacing the default " - Copy" added to it's name with whatever number I'm up to for that app. No need to duplicate all files. I suppose there could be some exceptional circumstances I'm unaware of, but I'm pretty sure there aren't any problems simply storing a copy of the code. In any case, it's worth the risk.
This method is made easier by just leaving open the Explorer folder for the project I'm working on. The routine I've described has eliminated the tiny, unnoticed "missed Undo's" that can cause hours of confusion and frustration later. A "Save As" button would certainly be a nice convenience for me now, but would have saved me countless hours had it been available prior to settling on my present routine.