Bueno despues de una acalorada lucha de varias horas entre SQL, MaxDB, FastReport y yo, pude hacer lo que quería. Probe lo de RowNum en MaxDB pero solo funciona cuando se especifica que el interprete SQL a usar es "Oracle" y solo en el SQL Studio de Maxdb, no se como usarlo en una conexión con Delphi, gracias de todos modos por el consejo Delphi.com.ar.
Como sea, lo que quería era encontrar un registro al de prelaciones para mostrar los datos de asignatura y para las demas prelaciones dejar esos datos vacios. Eso lo logre con una consulta unp poco elaborada usando la función
Max(), combinado con lo que puse arriba
.