There's no need for a recursive CTE. If that query gives the correct results you can use it to update your table.
WITH CTE AS(
SELECT MTB.*,
Trail_Balance_Debit_New = MTB.ACTIVITYDEBIT + ISNULL(CTE.Trail_Balance_Debit, 0)
FROM #MyTrialBalance AS MTB
LEFT OUTER JOIN #MyTrialBalance CTE ON
MTB.Calendar_Month = DATEADD(month, 1, CTE.Calendar_Month)
)
UPDATE b SET
Trail_Balance_Debit = c.Trail_Balance_Debit_New
FROM #MyTrialBalance b
JOIN CTE c ON b.Trial_Balance_ID = c.Trial_Balance_ID
However, you could always try a fast method called Quirky Update (QU) which will help you to generate running totals. You can read more about it and other methods on the following article: http://www.sqlservercentral.com/articles/T-SQL/68467/
If you use the QU, be sure to follow all the rules.