Oh yeah, one more thing, you don't need to use dt in "wait X seconds" events. Just put in 3--it already takes dt into account.
I've just found that it isn't stunningly reliable to trigger things once off of variable changes. It seemed to always work before, so I'm actually not sure why that didn't work. I just knew that On collision stuff always works unless there's a framerate hiccup. I decided to just put it all under one action and let it decide from there what to do with the objects instead of doing stuff after the fact. Changing the > or = to just > also made things simpler in logic to me. Then you can just set them to "1 hit" and it'll die when you hit it. Then you don't need to worry about the 0 variable anyways.