Oh, my proposal wasn't even the correct one. Use System > Pick by evaluate instead. Taking a look at the first problem right now.
Is there a specific reason why you aren't using a function instead of a boolean? Like this:
I have no clue what I'm talking about to be honest but I think the reason why your solution doesn't work is because the boolean is set in a trigger event. They are handled individually, so the boolean is set back to false directly after.