@Steven Mading Yes, it's weird.
Also, I have to defend myself here a bit. I understand how when works
There is also only ever two triggers active at once (they are nested) and at the point where this problem occurs, there should not be any other active trigger. Even if there was, there is a large wait after the throttle change. Since other triggers cannot activate while a trigger is being executed, this should be fine.
You did make a great point though and I should probably move most of that code into the mainline and use "wait until" instead. This is my first script, so I don't mind some suggestions for how to improve the general style.
Edit: I changed all the chained triggers to "wait until" and now it works. I still maintain that my original script should work, though.