Pues finalmente era eso, incompatibilidad de PHP con la actualización de MySQL que se resuelve cambiando el código de una librería que hace la consulta:
en el fichero ../mod/assignment/lib.php de
COALESCE(SIGN(SIGN(s.timemarked) + SIGN(s.timemarked - s.timemodified)), 0) AS status ';
por la siguiente:
por la siguiente:
COALESCE(SIGN(CAST(s.timemarked as SIGNED) + SIGN(CAST(s.timemarked as SIGNED) - CAST(s.timemodified as SIGNED))), 0) AS status ';
Esto ha resuelto el problema y vuelve a funcionar.