Thiago,
O comando SQL que está sendo executado funciona até a versão 2.7 do Moodle. A partir dessa versão, o registro de log passou a ser registrado na tabela mdl_logstore_standard_log e não mais mdl_log. A coluna da data passou a ser timecreated e não mais time.
Sendo assim, para listar os alunos online a partir da versão 2.7, execute o seguinte comando SQL:
SELECT DISTINCT u.id, u.firstname, u.lastname FROM mdl_user u INNER JOIN mdl_logstore_standard_log l ON u.id = l.userid WHERE l.timecreated > ?
Passe o valor de da hora em formato timestamp em l.timecreated > ?
Atualize o SQL do seu código que vai funcionar.