You don't explicitly order the results so when you say this is what you would usually get ... sub total row for Europe appears after all the individual rows for Europe you're just getting lucky.
Try ordering your result set:
SELECT [Group], [Name], SUM([SalesYTD]) AS 'Total Sales'
FROM #TempTable
GROUP BY [Group], [Name] WITH ROLLUP
ORDER BY [Group], [Name]
Although also try not using WITH ROLLUP
as well:
Non-ISO Compliant Syntax
...
WITH ROLLUP
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.