I see that in the old OS, the memory protection flags were ignored...but isn't the real question - were they actually set?
If they were actually set, couldn't the OS allocate a block of public memory available to all applications as well as private memory for each individual app...
If the some apps didn't set the flag in the call, wouldn't it be simple to find those calls and patch them by flipping a bit. Can't be hard to see where the app crashes...and find the offending call...

This could be done with a "debug" Amiga emulator on x86 where you can poke around and step through stuff...
I know from the manuals I read, I read to always set the flag appropriately, but I only scratched the surface of Amiga programming 11 years ago...so I probably have things quite off...