Yeah CJGrids on Tab Pages can be a real pain with access timing.

You could try this...

Add the following code to the Tab Dialog object, and change "oTabPage" to the tab page object with your grid.

This way the page is added to the focus tree during view activation which makes the grid available.

Code:
Procedure Add_Focus Handle ohParent Returns Integer
    Integer iRetval
                
    Forward Get Msg_Add_Focus ohParent To iRetval
    
    Send DoActivePage (oTabPage(Self))
    
    Procedure_Return iRetval
End_Procedure // Add_Focus
This worked for us on a simple with 2 tab pages, where the grid is on the second page.