Po prostu zamień pola w klauzuli join:
WITH CategoryTree AS
(
SELECT *, 0 AS Generation
FROM dbo.Category
WHERE CategoryName = 'Animation'
UNION ALL
SELECT Cat.*, Generation + 1
FROM CategoryTree
JOIN dbo.Category AS Cat
ON Cat.Id = CategoryTree.CategoryMaster
)
SELECT *
FROM CategoryTree