Here is a capx that seems to do what Megatronx described in his post on top of that page.
No bug as far as I can tell, everything is working as intended.
And obviously, you can't "set a timer in a for each loop". "On timer" is a trigger. It will be the event triggered first. You can't run a "for each" loop every tick and have it recognize a trigger event inside it. That's not how events work, and it's not specific to the Timer behavior.
And no need to add a for each loop under it either, C2 does it internally (proof in my capx when you see the three workers you've created on the same tick moving away at the same time).
It all sounds as unproper events rather than actual bugs in C2 itself. Without a capx to look into though, no way to tell for sure.
Also if you try something like different tag names relying on the UID of the objects, it is just bad design on your part I'm afraid.
It obviously can't work, since, as mentioned, you would indeed need to loop through each instance to get its UID, and it can't work with the trigger system.
It's also, not required.
Don't have beta installed, otherwise would check the capx.
Originally I had system like this:
For Each "Dude"
|State="A"
|| Distance between dude and his current target less/equal X
|| - Change State to "B"
|| - set Timer "Time" to Seconds
||Else
|| - Do Stuff, walk towards target etc
On Timer "Time" : Call functions, Change Target, Set state to "A"
Everything else I did later on, all the changes, those were just an act of desperation. You all say this should work, and I also thought so, and it did for a bit, then started slowly dropping characters one by one.