In realtà la cosa è anche più complessa di quello che mi appariva; probabilmente tu non vuoi che ogni volta il countdown riparta da dove si è fermato all' ultima visita, ma da quel valore MENO il tempo intercorso (esempio: me ne vado che il timer dice 1000, poi torno dopo 300: il tuo countdown non deve ripartire da 1000 ma da.. 700.)
Inoltre, se un utente lascia la pagina aperta due ore, il cookie registra ancora il valore di due ore prima, che non è quel che vuoi. Certo, puoi riscriverlo come dicevo con l'evento onunload sul tag body, ma non è detto che faccia a tempo su tutti i browser.
In tutti i casi, intanto, ti serve imparare a gestire i cookie.
Mi pare di capire comunque che il countdown è lo stesso per OGNI utente (se dovesse essere uno per ciascun utente allora sì che abbiamo un grattacapo). A questo punto dovrebbe davvero essere gestito dal lato server: o quanto meno la tua variabile javascript che tiene il valore del countdown deve essere scritta dal lato server con i valori di partenza che il countdown ha adesso (si presume vi sia un database che lo memorizza...)
Insomma, il problema può anche essere urgente ma non è da poco - magari altri ti sapranno rispondere con dei codici, io spero di aver contribuito ragionando sulle possibili implicazioni (rispetto alle queli se puoi chiarisci come deve funzionare il tuo countdown, se è lo stesso cioè per tutti gli utenti o se ogni utente ha il suo, che linguaggio server usi -php?- ecc)
ciao buon lavoro(ne!)