ORDERing を行う正しい方法は、最も外側の選択に ORDER BY 句を追加することです。それ以外は、いつでも変更される可能性のある実装の詳細に依存しています (データベース/テーブルのサイズが大きくなり、より多くの並列処理が発生する可能性がある場合を含む)。
注文を行うのに便利なものが必要な場合は、WITH に関する MSDN ページ :
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS
(
SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel
FROM dbo.MyEmployees
WHERE ManagerID IS NULL
UNION ALL
SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1
FROM dbo.MyEmployees AS e
INNER JOIN DirectReports AS d
ON e.ManagerID = d.EmployeeID
)
CTE の EmployeeLevel 列に似たようなものを追加すると、すべてが機能するはずです。