I'm afraid this is just a case of the program doing what you
tell it to do instead of what you
want it to. (If you ever overcome that problem, let me know and we'll both be richer than Bill Gates.

)
Also, with so many events - and no comments at all - it is difficult to understand what you're actually trying to do. Maybe the attached will help - it seems to be a little closer to what you want. The things I changed were to only fire one shot at a time - it's easier to see what happens on each shot - and to change the distance before the sun disappeared.
I think the last may be the real problem - too small and you always miss - too large and the sun always dies when the snowman gets anywhere close.
I suggest you go back a step and write out what you want to do in storyboard/pseudo code form - and make sure
exactly what conditions make the sun disappear.
If things still don't seem to work - you might try moving the collision test to a method instead of an event. The exact time events get evaluated is, for all practical purposes, indeterminate - a fact that can cause problems for while statements. Haven't heard of it being a problem with the "when" event - but also haven't used it much.