Looks like the TableView uses the information from beginInsertRows() to draw the grid, not the rowCount().
That doesn't sound right, but maybe there is some internal optimization to avoid redrawing the entire table on an insert.