Greg:
If the rascals turn off internet access or simply don't have one (TNFOTO). You can try the following.
Manipulate[
 Dynamic[TimeObject[{0, 0, SessionTime[]}], UpdateInterval -> 1], 
 SynchronousUpdating -> True, SaveDefinitions -> False]
Try as a docked cell in you cdf. 

Tested the docked cell cdf on Windows and Mac; upon opening it starts at 0 seconds and increments. If I change the OS(s) system clock, while the cdf file is opened, the panel stops updating. So, with a few more computations you can test when the TimeObject[] is static and do something. If the TimeObject[] based on the SessionTime[] reaches some criteria say two hours you can also do something.
I can't readily think of a way to save the state such that upon reopening cdf file that the session starts at last time used.
Creating Docked Cell
SetOptions[EvaluationNotebook[], 
  DockedCells -> {Cell[BoxData[ToBoxes[Row[{
Manipulate[
 Dynamic[TimeObject[{0, 0, SessionTime[]}], UpdateInterval -> 1], 
 SynchronousUpdating -> True, SaveDefinitions -> False]
         }
        ]]], "DockedCell"]}];