Esta pode ser uma resposta boba, por favor, perdoe se for.
Os números de linha são baseados em zero? O que acontece se você alterar a cláusula where para:
WHERE rn = 0
?
EDIT:Também notei que pode haver um "AS" ausente na linha:
SELECT * , ROW_NUMBER() OVER (PARTITION BY Col1 ORDER BY Col5 ASC, Col3 ASC) rn
Deveria ser:
SELECT * , ROW_NUMBER() OVER (PARTITION BY Col1 ORDER BY Col5 ASC, Col3 ASC) AS rn