Why not just store all the info from your gridscreen in some arrays, then close the grid and create a new one instead of stacking or "nesting" them. Then when you return, recreate your old grid screen from the arrays, which should have already been loaded. If they are not already loaded when the user clicks to a lower level, just make sure you store the last loaded row so you can pick up loading when you return. This is how I've done it, back before you could stack grid screens.
It is tricky figuring out how to start from where you left off, and you have to "lazy load" everything in the background so the user is free to do whatever they want even if the screen isn't loaded yet, but not impossible.
- Joel
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!