It seems like timers are a problem for a lot of teams so I posted ours this morning on this thread in the wrong place... I didn't see the rest of the thread or that the issue was already solved.
http://www.chiefdelphi.com/forums/sh...d.php?p=605834
It sounds like you have taken a similar approach with event timers that call routines when they time out. After all when all your other sensors have failed or you should still at least have timers! The example shows one way to estimate processor loading which also seems to come up a lot.