As Linus famously said: Shut. Up. Don’t break userspace and then blame the user.
This is like arguing to allow the guy who can't drive and just pin-balls his way down the freeway bouncing of other cars, because to prevent him from driving would be to take away his personal freedoms.
So, if we want a tortured metaphor what JVM is doing is like trying to pass a turnstile to see if the pass is still valid so that on the happy path it saves the extra check. Now Apple decided that instead of just showing a red X and letting you buy a new pass, in the future you get shot in the back of the head if you try with an invalid pass.
That doesn't mean it doesn't happen.
Are you suggesting that the approach taken here was at one point a documented acceptable approach, according to Apple?