I understand all this although I figured the scheduler heartbeat pulse interrupt came from a CIA timer instead of the vertical blank. Sorry if you misunderstood what I wrote. I was talking about the original Amiga hardware as I mentioned the Paula chip. My point was that there is no immediate change to interrupts from incrementing the TDNestCnt or IDNestCnt counters. It looks like there is no change to interrupts until the next interrupt which could have been avoided by writing the desired interrupt mask to the appropriate Paula register (INTREQ) when calling Forbid(), Permit(), Disable() or Enable(). The code for these functions would have been longer but this would have made the functions more attractive than the macros. The big gain would have been avoiding extra interrupts, if I'm understanding this correctly.
(snip technical example)
Or Commodore could just have inserted semaphores and discouraged the use of the macros when launching the Amiga 3000. By then it should be obvious there could be a market for a multi-processor Amiga IMHO.
However when it comes to AROS on non-68k systems (and perhaps even those) is really that level of compatibility a requirement?