I try with my own implementation following your specifications, and, finally get the same "problem" like you. However, I try with a one millisecond delay and apparently the problem is solved. Take a look at my implementation, and, if you don't want to use, try with the one millisecond delay on your own code.

However, maybe you have reason: even when this appear to solve the first problem, maybe we have other possible issues here, like when the mouse still over the first button.

But I think this is another issue, and can be solved thinking on this. But the "rare" effect that apparently "lost" the "Mouse Enter" appear to be solved with the Delay "1" (not Delay "1000"). Repeat, if am I not wrong.

Anyway, feel free to adapt my code if you think that work like you expected.

That's kind of an unusual interface, but the the cause of the problem appears to be disabling button 3 from within its own mouse enter action. The button is disabled when the mouse leaves so it never receives the mouse exit event. A check for this situation can probably be added to the next update.