Hola Jose Roman, no te sirve preguntar por IsEmpty de tu dataSet, IsEmpty te devuelve True si no ha encontrado ningún resultado. Con la consulta que pones si no encuentra un registro con el codigo "c", no va devolver resultados, el Coalesce te va funcionar si ese codigo existe y el nombre sea Null.
Código Delphi
[-]
......
Query.Sql.Text := 'SELECT COALESCE(NOMBRE,'NO REGISTRADO') FROM ESTUDIANTESWHERE CODIGO = :C';
Query.Open;
if Query.IsEmpty then
Showmessage('El estudiante no existe.');
Saluditos