Basically what i think is happening is that if you move your mouse over them fast enough, the cursor can hit more than one of them in a single tick, so then on the next tick, it checks to see if your mouse is over "Sprite" which is true, so the else condition doesn't get called, hence why they stay highlighted.
So lets say i quickly move my cursor from the first sprite to the second in a single tick, then on the next tick it says 'Is mouse over sprite?" which will come out as true, since my mouse is on the second sprite, so it won't call the else condition.
I hope that makes sense, but its just a wild guess and I'm most likely completely wrong
Edit to answer your edit: As far as i know, your not meant to make else events sub events, an else event will always attach itself to the condition directly above it.