El saldo a la fecha incial lo puedes calcular con un SUM
Código SQL
[-]select SUM(d.debe),SUM(d.haber)
from conta_asientos c
join conta_asientos_deta d
on c.asiento=d.asiento
where
c.fecha < :fecha_desde and
d.cuenta = :cuenta_pedida
Esto te dará los saldos de debe y haber hasta la fecha y el saldo total, que será DEBE-HABER.
Luego de eso, con un bucle puedes ir rellenando el resto.
Código SQL
[-]select c.asiento,c.fecha,d.debe,d.haber
from conta_asientos c
join conta_asientos_deta d
on c.asiento=d.asiento
where
c.fecha >= :fecha_desde and
c.fecha <= :fecha_hasta and
d.cuenta = :cuenta_pedida
order by c.fecha,c.asiento
No conozco MySQL, pero no creo que haya una forma de calcular el saldo acumulado con un select... quizás algún gurú de los SQL pueda ayudarte un poco más.
De todos modos, puedes ir caclculándolo con Delphi a medida que vas recibiendo los datos, con un campo calculado.