A couple things.
Once hp goes to zero your continuously setting your global to random(100) in this scenario.
"Trigger Once" will fix that, as long as that sprite is still picked in the variable comparison in the sub events.
Also there is no "value between" expression so there could be some mix up there as well.
......But, and its a big but, the else is definitely your biggest issue.
Just so you know, you can still reference a destroyed object while still in the same event.
Given that little tidbit, I'd suggest adding a "drop" variable to the enemy object, instead of using a global.