Most likely problem is you have multiple bullets overlapping multiple enemies.
Often times this will destroy ALL bullets while adding only 1 to the counter, or only destroy 1 bullet and add 1 to the counter while not affecting others during the loop, or depending on your phrasing, will destroy ALL bullets while only 1 overlaps an enemy.
The other problem is, code travels from top to bottom. If it detects a bullet over an enemy in the same loop as a bullet being over a background, it will destroy it without subtracting from the counter.
Try moving the first event below the second one. That will prevent the case of overlapping enemies and backdrops at the same time.
btw, how exactly does it "Not work"? does it collide with obstactles but not enemies, or with nothing at all, or are you even sure that the bullet is moving properly? Its possible that you're using too big of an offset with the direction calculator, and the bullet is traveling like 100 pixels at a time. This would make it appear to not do anything at all, since it would just travel offscreen.
I'm using a railgun effect exactly like this in my xmas compo game, and its been working fine...
Eh I'll test that out, but in TGF it should work in or out of fastloops. It only really matters if theres another event that references the bullet, since it might define it a a different bullet. Which would bug it out.
But I'd say yeah, do shabs idea just to be safe.
Frankly, I think the problem is with creating/destroying the object. He should remake it as a single-object detector, where it simply is repositioned each time you fire. I'm using exactly that in my current project, and it works like a charm.