Have you looked at the server logs to try and figure out the reason the timers stopped working?
The java api used to launch and maintain server timers is rather basic but robust. Therefore, there's not much, if any, that can be added at the platform level.
If your model is able to identify that a timer has stopped working (I can think of some kind of semaphore-based mechanism), you should be able to relaunch the Timer (via a service) without resorting to an application/server restart.
For best results, use the Firefox browser..