Brenda,
First you should avoid using CREATE VIEW TO and SET VIEW commands as they only exist for backwards compatibility, that usually means compatible with backwards :-).
If you need to save and restore a data environment do it with program code. Otherwise find out why you need to do that and fix the design so you don't need to do it.
Grids go insane when you rip their recordsource out form under them, they lose all memory of what they are and what they are supposed to do. Blanking out the recordsource of the grid before you destroy its recordsource is the only medication to control the insanity. It sort of lulls the grid into a trance while you rip things away from it and then when you have put them back again you can reset the grid's recordsource.
That being said, if you use a View in a database container for the grid you can requery() the view at will without any detriment to the grid.
So I am saying first, figure out why your code has to save a data environment and then restore it and fix the design so you don't need to do that. Second, don't use CREATE VIEW TO or SET VIEW TO as they are unreliable (they don't save and restore everything). You can use private data sessions in forms to keep data sessions separate from each other.