Tal vez la pregunta que diré es un tanto tonta pero es necesaria: ¿Te aseguraste de que la consulta devuelve datos?
Prueba lanzar esta misma consulta desde el editor del motor que empleas.
O si no prueba con esto:
Código Delphi
[-]tuDataSet.Open;
if tuDataSet.RecordCount > 0
then ShowMessage('Hay datos')
else ShowMessage('No hay datos');
Y disculpa mi insistencia, pero creo que es conveniente emplear el TADOQuery, que es el componente más conveniente.
Saludos,