mi autoquoto, precisando che la scadenza nel DB può anche essere uguale al momento di scrittura del record.
ogni volta che un utente fa un'azione, aggiorni la data del suo cookie, controlli quelle degli altri e nel caso cancelli (magari non usare NOW() secco, aggiungici un intervallo di tempo a tua scelta)
cancelli dal DB il/i record degli altri, il cookie sul client puoi anche metterlo a scadenza immediata (tipo a chiusura browser)

i falsi positivi sarebbero limitati al tempo che tu decidi di aggiungere a NOW() quando verifichi la data del cookie registrato sul DB