I don't see anything "wrong" in your code.

I only see that your grid that is failing is inside a dbtabPage.. There were some issues being reported with some odd behaviors activating child objects inside tabpages that are not the 1st page..

Just for sake of testing.. Create a copy of this view, to save it. And try to remove the tabpabes, and put your grid directly in the view or container scope. I am not suggesting you to make this permanent.. just for testing..

------

Another approach is debugg.. Per your screen shoot, the failure happens when the tabpage is activated,, and the grid is initializing. It calls Fill_List method, wich in turn set new_item property, so the grid knows what item it will start to fill with row content..

This method is defined in DataList.pkg

Put a breakpoint inside this metod Fill_List, and debug to see what are the contents of the variables used to set the new_item property. and try to determine why the values are referencing an invalid_item.

Code:
    { Visibility=Private }
    Procedure Fill_Page Integer Row# Integer Col#
    ...
        Get Load_Page Row# to Row#
        Set Row_base_item to Row#
        Set New_Item to (Row#  * Item_limit(Self) + Col# )       <<--- breakpoint here. 
        Send ReadByRowId (CurrentRowId(Self))
        Send Display_Other_UI
        Send New_Entry_Set
------
A 3rd alternative.. your grid is pretty simple, you are not using anything especiai from it.. I would convert it to the new CJGrid classes..

Good luck