Q1: it's hard to say what was the problem without seeing your events.
If you were changing the angle of the aiming object without picking root object first, then no wonder it was affecting all aiming objects.
Q2: "Trigger once" condition does not work per object or per container. After the first object reached Y coordinate (and stays there), this event will not be triggered again when other objects reach the same coordinate.
Instead of "Trigger once" you should add an instance variable "bulletIsFired" to your object, set it to true when it reaches Y. And use it as a second condition to prevent firing again.