Para responder a essa pergunta, observe os planos de consulta produzidos por ambos.
O primeiro SELECT é uma varredura de tabela simples, o que significa que produz linhas em ordem de alocação. Como esta é uma nova tabela, ela corresponde à ordem em que você inseriu os registros.
O segundo SELECT adiciona um GROUP BY, que o SQL Server implementa por meio de uma classificação distinta, pois a contagem de linhas estimada é muito baixa. Se você tiver mais linhas ou adicionar um agregado ao seu SELECT, esse operador pode mudar.
Por exemplo, tente:
CREATE TABLE #Values ( FieldValue varchar(50) )
;WITH FieldValues AS
(
SELECT '4' FieldValue UNION ALL
SELECT '3' FieldValue UNION ALL
SELECT '2' FieldValue UNION ALL
SELECT '1' FieldValue
)
INSERT INTO #Values ( FieldValue )
SELECT
A.FieldValue
FROM FieldValues A
CROSS JOIN FieldValues B
CROSS JOIN FieldValues C
CROSS JOIN FieldValues D
CROSS JOIN FieldValues E
CROSS JOIN FieldValues F
SELECT
FieldValue
FROM #Values
GROUP BY
FieldValue
DROP TABLE #Values
Devido ao número de linhas, isso se transforma em um agregado de hash e agora não há classificação no plano de consulta.
Sem ORDER BY, o SQL Server pode retornar os resultados em qualquer ordem, e a ordem em que ele volta é um efeito colateral de como ele acha que pode retornar os dados mais rapidamente.