Hi Andrew,
Very good indeed to hear from you again - I hope you're well. I added a little bit more debug code and I find that when the time ticks early; say 21:59:59.99 sometimes (and only sometimes) when I add 1*cTicksPerSecond to that Ticks value, TimeSecond() goes from 59 to 1! It must be occasionally rounding the Ticks value somehow. Anyway, my calibration code keeps the Timer ticking within five seconds ± 0.02 seconds, so instead of adding 1 * cTicksPerSecond I add cTicksPerSecond/2. On the XP Embedded system that this is running on, I would get, say, 6 instances per 24 hour period, now I get none. Thanks very much for your help.
Christopher