Ahh ok I had the exact same problem.
I solved it this way.
Make a Global variable called "Game_loaded = 0" or something, so if this is 0 you know the game "haven't" loaded yet.
Next, and think this is a good idea to do no matter what, as it will remove a lot of potential problems later on.
Make a "start of layout" and here you destroy all objects that are not needed. Like enemies, rewards, bullets and so on. And stuff like HUDs, background, that should be permanently visible you don't destroy.
At the end of this event when all objects have been destroyed you set "Game_loaded = 1"
And then in the "Bullet fired" event you just check if "Game_loaded = 1"
Another way is that you might be able to just mute the sound before you destroy it, and then just unmute afterwards. In a "Sound finished playing" or what its called, think that might work as well.