As a result AllocVec()'s old behaviour was kept up for 68k code, but dropped for PPC code (AFAIK), just to avoid future usage of such hacks.
So you have asymmetrical system where PPC and 68k routines work in a different way? How is that "cleaned up"? I really wonder if it really was worth the trouble to change this behaviour in the end. Wouldn't it have been much more sensible to just keep the size in there? (I mean not being able to predict problems with this change is just incompetent).
That is only one very prominent example where it was easy to distinguish between old and new software. But that is not always possible. And if it breaks only some ancient software I prefer a cleaned up system with enforced adherence to the documented facts.
Well, that's the problem: You don't know what breaks (you never can test every application). There is no way of knowing what important and cool applications will break.
I can accept less cleaned up system if it works better with old applications.
But you shouldn't encourage usage of things like mp_Flags=3. This was also completely new to me.
Well, I see no problem in telling people about it. This way they will know about it, at least. Just telling about it doesn't mean you're encouraging use of it.
You know about the limitations and dangers. But others don't know about it and nobody can read about that anywhere, because it is undocumented.
That's why I explained in detail the limitations and usage.
Hence, better keep it secret.
I disagree. Better know about these things, at least then future OS coders won't break the compatibility for no reason.