It's not a bug, it's how you've written the events. I wouldn't advise you activate and deactivate groups of events like that - it looks like you're trying to use them as functions, but they work more like a big "if group of events is activated" statement.
What you've done works like this:
1. Bullet collides with plane -> the "PlaneHit" group activates.
2. In PlaneHit: If the plane health is <= 0, it destroys with an explosion.
3. In PlaneHit: the next event is empty, so 'subtract 1 from health' affects all the planes
. That's where your problem is. It doesn't remember the affected plane because it's an entirely different event.
To make sure you reference the right objects, put the actions in the relevant event, and use subevents beneath that. Have you tried the beginner's guide
? It shows how to take health off the ghosts and destroy them correctly, like you're trying to do with the planes.