I figured what the problem was.
In my MVC project, my “catch all” MapRoute entry in global.asax.cs had a default value of page set to 1 & Model Binding by default gets its raw incoming data from RouteDataValueProvider first & then the QueryStringValueProvider.
I removed this route parameter & the Grid works perfect now.