a me sembra un gran kasino.
qualche domanda
1) supponendo che i lavori si facciano in un giorno, cioè non durino più delle 24:00, io inizierei a prendere da
SQL il primo START e l'ultimo STOP (mettendoci dentro un campo timestamp)
così risolvi il problema delle cliccate multiple
2) se l'ultimo STOP non esiste, allora prendi l'ultima operazione registrata e considerala come STOP
(se si dimenticano di premerlo)
3) memorizza una riga che so SVEGLIO quando si muove il mouse, e una DORMO quando non si muove.
Poi fai una SUM della differenza di DORMO-SVEGLIO (servirà magari una gestione di START e STOP)