After you have created the instance of your derived grid, make sure you call myDerivedGrid.ResetVolatileData(). This should force OnQueryColCount and OnQueryRowCount to be hit.
Here is a minimal sample that seems to work OK.
derivedVirtualGrid_7742.zip