Oh I see what you mean now, You're using a timer control

Lose it and use the code above. The Timer method captures the time as a single since midnight and places it in a variable, then when finished compare the current time to the variable, that way you don't have to worry about the CPU processors preventing an event from firing! (Unless your bios clock stops in which case you're screwed anyway )

Look up "Timer" in the MSDN help