Hi,
To do this you need to maintain a list yourself and yes, you need to have this fsm only doing this job of registering else it will fail as you found out.
-- the fsm ONLY responds to TRIGGER ENTER and TRIGGER EXIT and only add the hit gameobject to the arrayList or remove that hit gamobject. It should do it in the very state that you have these global transition on.
If you want to trigger more complex features, then you would likely need to implement it on the object that colliders not on the one that you want to maintain all collision, so that it prevents shunting the process.
Does that make sense?
WARNING: don't use STAY, while it works in some case and scripts, I would not recommand using this in PlayMaker, prefer maintaining a boolean flag that you raise to true when you get a TRIGGER ENTER and lower to false when you get a TRIGGER EXIT.
Bye,
Jean