No se si mi recomendación te ayude pero ese problema lo tenia en varios clientes. Nunca falta un inepto que se pone a jugar con la fecha y la hora de su terminal.
La solucion que aplique:
Que tu sistema trabaje con la fecha del servidor sin importar la fecha u hora que tenga cada terminal.
En la BD tengo una tabla que lleva la fecha actual. La regla es que el servidor es el primero que se levanta y comprueba si la fecha que tiene Windows es la misma del sistema. Si lo es el programa se levanta y en los demás terminales también se levanta sin que el usuario se entere. Si no lo es se abre una ventana (siempre q el usuario tenga el permiso) para que registre la nueva fecha, graba y se reinicia la aplicación.
En la practica cada nuevo día para el usuario administrador la única chamba es darle al botón Aceptar en la ventana de cambio de fecha de sistema y listo, no le toma mas que 3 segundos cada día.
Si un terminal tuviese una fecha diferente y la aplicación se levanta, la aplicación advertirá pero seguirá trabajando con su fecha de sistema. Es mas, asi sea el usuario con el megapermiso y esta en un terminal tampoco admitimos que la cambie, y forzamos a que haga el cambio en el mismo servidor (en tu caso donde tengas la fecha y hora correcta).
Como siempre, no se si sera lo mejor solución, pero desde hace 2 años que aplique esto y jamas hemos vuelto a tener problemas con este tema.
Saludos