If the order is important then try this:
select [Level],Val from
(
SELECT '0' as [Level], [Col001] as Ord, [Col001] as Val FROM @DataSource
union
SELECT '1' as [Level], [Col001]+[Col002] as Ord, [Col002] as Val FROM @DataSource
union
SELECT '2' as [Level], [Col001]+[Col002]+[Col003] as Ord, [Col003] as Val FROM @DataSource
union
SELECT '3' as [Level], [Col001]+[Col002]+[Col003]+[Col004] as Ord, [Col004] as Val FROM @DataSource
) as T1
ORDER BY Ord,[Level]