Yes, and as I said the grid component ALWAYS acts upon a GridDataSource even if you provide a List.
So, instead of passing a List to the grid (and having Tapestry create a CollectionGridDataSource under the hood) you should pass your own custom GridDataSource. This custom GridDataSource will delegate through to your list. It will probably do this by extending CollectionGridDataSource. It will exclude the last dummy row from sorting.