Hola.
Creo que, al liberar de memoria directamente, no permites se "vea" nada.
Tienes que hacer una pausa antes de la liberación de memoria que haces en
Si lo haces y el DataSource está enlazado desde un DBGrid, verás los datos en el DBGrid.
De forma muy básica, podrías hacer esto:
Código Delphi
[-]
ShowMessage ( 'Pausa para ver los datos') ;
Query.Free; DS.Free;
Espero que te sirva.
Saludos.
Ramón