... The "massive difference" of which you write is not between "bugs in the code" and "bugs in the documentation", it's between people who recognize that they're two sides of the same coin and people who don't.
Sure, of course I understand that it can go both ways, and indeed there might be some cases where it's not clear which way was intended: the way actually implemented, the way documented, or hell, maybe even a third way which neither one fits. A good example is the VAL() bug - when a string begins with a number but isn't entirely a number, you can either have it recognize the number and return it (ignoring the text afterwards), or instead have it always return 0. Let's say, hypothetically, that the documentation unambiguously said that a string that starts with a number will always return that number, whereas the implementation had it so that any string that isn't entirely a number returns 0.
In that hypothetical case, either one of them could be fixed to match the other; The so-called "two sides of the coin". Either way is a valid way for the code to behave, with its own pros and cons.
Some cases are less vague though - like the
DEF A$ OUT A$ bug - it's hard to justify this limit as intentional. As an accidental quirk, maybe, but if it can be fixed in the code, it should be. I don't think anyone would argue against this - unless they were incredibly biased for whatever reason. Sure, it's
possible to have the documentation match the quirk, but it wouldn't be fixing the bug, it would be just acknowledging it. The infamous "it's not a bug, it's a feature" excuse. Any person with an actual understanding of the situation would be able to see that.
The
MPSEND "" error is an ambiguous one from my point of view. It could be intentional, or, it could be accidental. I can't tell one way or the other... But the fact that it spits out an "illegal function call" right then and there, to me, leans towards it's intentional.