I had this problem a while back and recently revisited it, so I figured I would share if anyone didn't know this:
System.Timers.Timer CAN HAVE PROBLEMS IN A WINDOWS SERVICE!!!
Sorry for yelling, but maybe that will catch some attention, yes its true, I drove myself nuts on a service I was writing once, everything seems to work fine until one time, the timer just stops firing.
"Server-based timers use the thread pool internally, and the event handler runs in a thread taken from the pool. For this reason, conflicts might occur while the event handler is accessing shared variables and modifying controls and forms."
Resources:
http://www.ftponline.com/vsm/2002_11/online/hottips/falossi/default_pf.aspx
http://msdn.microsoft.com/msdnmag/issues/04/02/TimersinNET/default.aspx
http://weblogs.asp.net/sibrahim/archive/2004/01/13/58429.aspx
http://www.eggheadcafe.com/ng/microsoft.public.dotnet.internationalization/post115585.asp
Choose your timers wisely, nothing like a timer that stops firing for no apparent reason to drive you nuts!
Gavin