I believe the problem is in "Enemy State Dead" group. Trigger Once condition doesn't work per instance. And you shouldn't place it as a sub-event. And "On any animation ended" also shouldn't be there..
Try changing the code like this:
It's still not ideal, because event 16 is checked on every tick, and if you have lots of events like this, it's bad for performance. So I suggest moving all actions into the function (if HP<=0, then disable collisions, start dead animation etc.)