PaginationHibernateIndexEntitiesIndexer creates duplicate indexes when pagination fetch count is lower than records in DB to index. I encountered this issue using postgresql (8.4). PaginationHibernateIndexEntitiesIndexer uses pagination without explicit order by. However postgresql (and to my knowledge MSSQL) pagination using firstresult and maxresult (which is translated to SQL LIMIT and OFFSET) is not guarenteed to be stable without order by. The easiest solution would be to add explicit "order by primary key" statement.
The possible (ugly) workaround for this issue is to set fetchCount to be greater than rows in DB to index.