I've remove the filter-form and toolbar to see if they affect this situation, sadly they dont.
When the rows-per-page DDC is outside the toolbar (and outside the grid markup) choosing a value will correctly change the DDC's model object and then the grid is rendered again using the correct DDC integer value. When this DDC is inside the toolbar the grid is first rendered and only then the DDC's model object is updated - causing a "delay" between the DDC's model object and the grids rows per page value. any ideas? or do I have to create a new grid instance as nino suggests?