Esto es una conjetura, pero si tiene valores duplicados para el FTE entonces no hay garantía de en qué orden aparecerán cada vez que se ejecute el código. SQL Server probablemente está cambiando el plan de consulta entre cuando hace un simple SELECT y un SELECT con el WHERE criterios, haciendo que salga un orden diferente a lo que estás viendo.
Agregaría el PK al final de su ORDER BY solo para garantizar que el orden sea siempre consistente.