In you case, I would consider setting up a sperate table for times events. Items that don't occur for 24 hours ( or so ) would be lost when the user closes out the database.
In the table, I would have what should happen, for whom it should happen, a complete flag ( or open flag) and any other key information.
Add a few steps to a file open script that opens a window off screen. and sets an ontimer script to run every x minutes and check the table. If an items is due, do it.
You will also need a close script/button that will close the off screen window.
Running a timer for 24 hours in the background doesn't seem like the best way to go on this. How time sensitive are these "timers" do they need to be down to the minute? or more general?
Consider setting a timestamp when the status is changed, then calculate based on that timestamp a flag that will trip when the time is up if the criteria are not met.
You can run a simple find script to act on tripped flags daily hourly, or however often you need to move on them.
Piggybacking on the previous suggestions, you could set up a server-side batch job that goes in and finds all the flagged records and takes whatever action necessary. That way, no user needs to be in the database and you don't have to worry about opening any OnTimer windows to make your maintenance happen.
Yes if this is hosted definately schedule the scripts, if not, it could be triggered in opening script but that may not be frequently enough so go with Bruce's suggestion to use the opening script to push a looping script to call it up every x amount of time.
Thanks to all who contributed above. Already mapping out the different timestamp fields and flags for each "duration". I was definitely overthinking it before. Will post back with any issues, but do not anticipate such.