These links might help.
I helped someone do something similar
https://forum.gdevelop.io/t/projectile-piercing-not-working/54443/2?u=keith_1357
If I’m remembering correctly and understand your project, I think I used reversed logic. I had the projectile store the IDs. So, the bullet only hit each object once. The bullet would eventually be deleted, so the array didn’t have to be reset.
I also request that for each child would work with objects. I inuded a few workarounds on the bottom.
https://forum.gdevelop.io/t/use-for-each-child-event-with-object-variables/60680