use the debugger preview to check the variable,pause and press step. each step u could see increment of 2 meaning that both events are running
Yes I agree it seems that the Else shouldn't fire. Personally I wouldn't use a mechanism like this, but if it's supposed to work like that..
edit: I have a theory. A For loop ultimately stops because the condition becomes false (no object is picked). Perhaps this triggers the else.. (actually that's true for a 'normal' for-loop but maybe not for For-each)
(Just for reference)
Run if the previous event did not run. Note that this condition does not pick any objects: if it follows an event that picks objects, in the Else event all instances revert to picked again. Else can only follow normal (non-triggered) events. It can also follow another Else event with other conditions to make an "if - else if - else" chain.