Hi,
the problem is simple, an event data is a static property, it exists in only place, so if you have multiple actions in the same frame that set data, you will end up with synchronization problems.
The solution is to insert next frame event in strategic places. Typical example:
if you sent to all your ennemies instances an event with some associated event data, make sure that the instances fsm do not in turn send their own events with their own data on the same frame, implement a next frame event on the state that received the original event before starting setting event data again,
Event data should always be stored in the fsm local variable on the very state that received the associated event, then put a next frame event, and you can in turn send another event filled with new event data.
Bye,
Jean