Such a simple change…
Basically the new script loop detection works, not by trying to detect loops (if you try to do that you run into the halting problem), but instead by limiting how many times any script can run from a single trigger (or metro, or delayed command, etc). The reason for doing this is to stop the infinite loop. But because scripts can recurse into each other there is a danger of a stack overflow, thus the limit of only 8ish SCRIPT calls.
(as aside it is possible to remove the danger of the stack overflow by using a ‘trampoline function’, but that would require far more work)
Anyway when I wrote that code I was focusing purely on the danger of the stack overflow which comes about from nesting scripts (e.g. script 1 calls script 2, script 2 calls script 3, etc). But the way the code works is overly simplistic and all it does in effect is count how many times you run any script. So the solution is to decrease the number after the script finishes. That way the limit is on how deep the nesting is, not how many you run.
tl;dr: you can use SCRIPT a lot now, the limit is how deep the nesting goes, not how many scripts you run.
The code will be in the next beta, which may in fact be the first release candidate.