I fell into the trap of assuming corruption before properly diagnosing the problem. (to my credit, I did not fully blame corruption though)
Further research showed that a script was closing the window, BECAUSE I WAS GOING TO A RELATED RECORD, WHERE THERE WAS NONE, AND CLOSING THE WINDOW WHEN I WAS DONE!
Bonehead mistake. In 2 separate places no less. My initial testing showed that he scripts worked fine when ran manually. Of course they did. There were related records when I tested them. When the script trigger fires, there may not be any related records. I even stepped through the scripts with the debugger when I was initially diagnosing the issue. I'm a bonehead.