Depuis MAX(RowNumber)
sera toujours égal au nombre total de lignes, essayez simplement d'avoir :
SELECT ------,
ROW_NUMBER() OVER (
ORDER BY i.[ItemID] DESC
) AS RowNumber,
COUNT(*) OVER () as RowTotal
FROM -------
En tant que premier CTE.