El DBGrid es solamente una ventana a los datos que están en el DataSet.
Obviamente, si cerras este dataset para hacer una nueva consulta, el grid reflejará el resultado de esta última, y no el de la primera, pues el control, como tal, no almacena los datos.
Por otro lado, desperdiciar tiempo programando innecesariamente, finalmente, también es un desperdicio de recursos. Creo que es mas fiable fijarse en la relación costo/beneficio.
Hasta luego.
