MouseHit becomes active when the mouse is clicked (down and up I believe to count) and it's value is cleared when you call MouseHit(), not at the end of your loop (because MouseHit() doesn't know when it's being called, in a loop, at the start of your program, it doesn't care) so it always goes back to 0 after you check, untill the next full click of the mouse. Your fix is the kind of thing that you will need to do to test the value twice, since the first check will clear the value, and like Perturbatio said, it's un-likely someone can click fast enough to get MouseHit() to activate twice in one loop.
Polled input can be anoying sometimes, but it gives you control.
Polled input can be anoying sometimes, but it gives you control.