I decided to stop being lazy and figure out why the stub had a problem on DOS 2.1. 20 minutes with d86 and I found that DOS 2.x does not like it one bit if you try to call a DOS function that does not exist. I was trying to execute Int 2F/AX=1600h to check if the user was in Windows or not, and it turns out this causes DOS 2.x to freak the hell out and die.
I have decided that checking for the presence of Windows is no longer important (if you’re running TOPBENCH in Windows, you’re missing the point entirely). Stub 0.92 now works properly on DOS 2.x.