How can you break something that was never documented? Peeking unallocated memory region was very common practice on 68k system, but will surely crash with OS4. So, does OS4 break this, too?
Ok, the location of AllocVec()'s size storage has become something like a "fact". But that's the point: it never really was a fact.
I think the Frieden brother told more than once, that the size at ptr-4 was removed for various good reasons:
1. it was never documented to be there
2. it was no longer necessary with the new memory system
3. PPC cache lines have different alignment than 68k cache lines and an additional offset of 4 would slow things down
4. so far it did only break one major application (GoldED) and that has been fixed already
5. OS4 tries to enforce certain programming rules and punishes hacking.
The advantages of removing the size information by far outnumbered the disadvantages. And that's why it has been done. Compatibility is a big thing to maintain, but keeping undocumented features, which lead to hacking, is not always very wise.
If MOS could keep up the compatibility to OS3.x's AllocVec() without sacrificing any advantages then its perfect legal to keep this. But relying on undocumented features should never be encouraged.