I think one of the major "sins" of those interfaces (that is still pervasive today) is the inability to select text on most labels. Back then, Google did not exist, but being able to select and copy the text on e.g. an error message is something that has since become very useful, and that's still not afforded by GUIs.
Well, at least nowadays we can use ridiculous solutions such as normcap (taking a screenshot and OCRing it) to get such a basic feature.
On Windows, you can press Ctrl+C to copy the contents of native message boxes. Admittedly not very discoverable. They should have added it to the System menu as well.
A general facility to select labels should use an additional modifier key, since otherwise unsophisticated users will tend to select labels by mistake and get confused. Labels are already actionable elements, in that clicking on them focuses the associated control, or even changes its state as in the case of check boxes and radio buttons. Another example are the labels of menu items and buttons. Adding selection when you move the mouse a bit while hitting a label is too finicky IMO. If the UI is also a touch interface, it would only get worse.
From what this website says (https://weblogs.asp.net/chuckop/110153), this behavior started on Windows 2000, which might explain why it didn't work on my emulated Windows 98...
My solution to this is to use Emacs whenever I can. (Almost) any text in Emacs is in some buffer, so you can usually mark (select) it, kill (cut) it etc.
On that note, the css property user-select [0] may be useful to anyone trying to implement this kind of usability.
It can also be used to ensure a whole block of text is selected and copied as a unit. That is helpful for things like a an error message or an identifier like ABC-123.
Well, at least nowadays we can use ridiculous solutions such as normcap (taking a screenshot and OCRing it) to get such a basic feature.