SQL Server 2008 doesn't have a cumulative sum function. You can solve this with a correlated subquery:
select atm.*,
(select sum(cashload) - sum(withdraw)
from atm atm2
where atm2.date <= atm.date
) as EOD_Balance
from atm;
EDIT:
Well, that does change the problem. You need to sum from the date of the previous cash load:
select atm.*,
(select sum(cashload) - sum(withdraw)
from atm atm3
where atm3.date <= atm.date and
atm3.date >= CashLoadDate
) as EOD_Balance
from (select atm.*,
(select max(date)
from atm atm2
where atm2.date <= atm.date and
cashload > 0
) as CashLoadDate
from atm
) atm;