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.