Never mind, I got there. Some square brackets make all the difference. I hadn't spotted they were missing from the sample database.
If anyone's interested, the function I got to work is:
IIf([2012-13] Is Null,Null,Nz(DSum("[2012-13]","MHByMonth","[MonthNumber]<=" & [ExistingMonthNo]),0))...