> shouldn't full-screen software be able have a way of saying to the OS that it's not interested in hotkeys being messed about with in the first place?
Your suggestion requires a time machine. The timeline is:
1) DOS is written. All apps are "full screen". There are no hot keys.
2) Wing Commander is written.
3) Windows is written, which includes DOS boxes. However, they're not very good and no-one would run games in them.
4) Windows 95 is written. Now Windows is running all the time. DOS apps can only be run via an improved DOS box.
5) Someone from Microsoft gets into their time machine and goes back to the time of step 1.
1A) The time traveller adds a new call to DOS that says "don't mess with hot keys", which does nothing, including full documentation of how Windows 95 will handle hot keys. Note that DOS is limited by memory, so this makes DOS a bit worse by using more memory
2A) The time traveller persuades all game developers to use that call, despite the fact that it does nothing so calling it is a complete waste of time with no value to the game developers. It is also impossible to test, since it does nothing.
4A) Windows 95 can now use that call to change the hotkey behaviour. For the few apps that bothered to implement it correctly, and lucked into a non-buggy implementation. This change also completely breaks some apps that were using the call incorrectly.
5A) Windows 95 now needs the same compatibility fix for the apps that skipped the call. And a different set of fixes for apps that used the call incorrectly. And an exclusion list for the apps that disabled hotkeys but actually work better with hotkeys enabled.
So the time traveller actually makes the situation much worse.
(Assuming you meant DOS full screen apps. Windows full screen apps can of course control almost all hot keys. I say almost, because in Windows NT Ctrl-Alt-Del cannot be disabled for security reasons - a "secure attention key" is required by the government security standard that NT was designed to meet).