in my app we do this; the 'screen' object stays in the in background while we execute the function that displays the details screen (displayShowDetailScreen). Then that function returns the currently selected show so that the grid screen can update, like this:
m.curShow = displayShowDetailScreen( our selected parameters )
screen.SetFocusedListItem(row, m.curShow)
(our parameters include the category they're in, the number of their selection, the name of the row they've chosen, and an object containing all the elements from this row, that they can browse to from the details page.)
This is how the end of the displayShowDetailScreen function looks:
return showIndex
End Function
aspiring