Buenos días,
Para comprobar que un usuario ha accedido la primera vez a un curso la unica forma es buscarlo en los logs (si fuese el primer acceso pero a la plataforma sería en la tabla user), por tanto sería una consulta asi:
SELECT min(time) as firstaccess from {$CFG->prefix}log where course = id_del_curso and userid = id_del_usuario and module like 'course' and action like 'view'
Recuerda que lo que te devuelve no es una fecha en formato standar, sino en timestamp (http://es.wikipedia.org/wiki/Timestamp)
Para obtener la nota final del curso hay que comprobarlo en las tablas del libro de calificaciones:
select b.finalgrade from {$CFG->prefix}grade_items a,
{$CFG->prefix}grade_grades b where itemtype like 'course' and a.id=b.itemid
and b.userid = id_del_usuario and a.courseid=id_del_curso
Un saludo.