OddConfection gave an elegant solution. I've learned from it and I think you should too. Yours doesn't work because of inherent timing issues. Hint: the System:Wait does not stop other events from running. Every tick.
Also you have some misconceptions. You do not need System:Pick All Enemy followed by System:For each Enemy You can remove these entirely and the logic is the same.
And I find any time I've used System:Wait I've introduced subtle timing issues, so I'd be careful of that technique.
If you're wanting to see how your type of approach might work, I've attached a capx. The basic approach is still yours, but it's greatly simplified.
[attachment=0:pbe087bp][/attachment:pbe087bp]