I'm having the same issue. From one gridscreen, I open a second gridscreen. When I press the "back" button on the remote, the second gridscreen closes and I return to the first -- but the first no longer responds to remote button presses.
From where did you call the Sleep() function? I tried the following in the first gridscreen without success using 500 and 1000:
optionScreen = PreShowOptionsScreen()
ShowOptionsScreen(optionScreen)
Sleep(500)
I've also tried reloading the first gridscreen's data just after the Sleep, but that didn't help. I appreciate any thoughts, thanks!