Hola, Eithel.
Además de lo que te comenta José Luis, ¿cuál es la frecuencia en que CRON está programado para correr 'cron.php' en tu sistema?
Si el período es de 30 minutos o más, ahí podría estar la explicación.
En los casos en que se utiliza plazo de tiempo para presentar un examen (en el que son importantes hasta los minutos para que unos alumnos no tengan ventaja sobre otros) la solución creo que podría estar en programar CRON para que corra el archivo 'cron.php' de Moodle cada minuto. Así, la máxima diferencia será de 59 segundos si no se ha establecido una hora de inicio y otra de finalización para realizar el examen (o como en tu caso se ha abierto una "ventana" de tiempo mayor) sino únicamente se ha definido el plazo que tienen los alumnos para completar su prueba.
Igualmente, en el caso de establecer hora de inicio y fin, para que la hora del sistema coincida con la hora real, CRON debería llevar a cabo tal sincronización, y la más exacta posible es haciendo que 'cron.php' corra cada minuto.
Aunque CRON no está pensado para correr a intervalos menores a 1 minuto, aquí comentan cómo conseguir que corra cada 'n' segundos: http://www.malditonerd.com/tip-como-correr-un-comando-cada-n-cantidad-de-segundos-con-cron-en-linux/
Aunque habrá que tener en cuenta el riesgo de sobrecargar el servidor si la frecuencia se aumenta en extremo.
Saludos.
JP