Yo también discrepo. Lo de llamar a DisableControls y EnableControls nunca ha sido necesario para poder cerrar y reabrir un conjunto de datos con efectividad visual. De todas formas lo dicho por
engranaje muestra lo que es tener el valor de ayudar.
blaiselaborde: Para salir de dudas te recomiendo que, a manera de prueba, hagas todas las operaciones empleando el objeto rejilla.
Código Delphi
[-]
DBGrid1.DataSource.DataSet := ElQuery;
DBGrid1.DataSource.DataSet.Close;
TQuery (DBGrid1.DataSource.DataSet).LoQueSea; DBGrid1.DataSource.DataSet.Open;