I found a great tool for working with text files called "Notepad++". It lets you view and edit EOL codes among many other things.
Sure enough, my resource.h files had "Windows" End of Line codes (CR)+(LF). Python (Unix) wants (LF) only. That explains the [1:-2] vs [1:-3] lstrip issue. The whole file had those EOL codes so it messed up the build completely.
I edited the files, changing all EOL to (LF) and now they work. Now I need to change the settings in MSVS so it never does that again!
Another lesson learned!