Claro, en ningún caso filtras por fecha.
La consulta del saldo debe traerte un solo registro y seria mas o menos:
Supongamos que quieres los movimientos desde el 01/10/2014, haremos
FechaDada = "01/10/2014"
SELECT tbDetalleCliente.codigoPago AS Codigo, tbDetalleCliente.NombreCliente AS Cliente, Sum([importe]+[PAGO]) AS saldo
FROM tbDetalleCliente
WHERE (((tbDetalleCliente.condicion)=9) AND ((tbDetalleCliente.EstadoComprob)<>"A"))
AND TuCampoFecha < FechaDada
GROUP BY tbDetalleCliente.codigoPago, tbDetalleCliente.NombreCliente
ORDER BY tbDetalleCliente.NombreCliente
saldo entonces lo almacenas en alguna variable o label para mostrarlo: "El saldo hasta el 30/09/2014 es XXX.XX" (30/09/2014 lo sacas restando 1 a tu variable fecha)
Y luego para traer los registros:
Select Fecha,Tipocomprobante as Tipo,NroComprobante as Comprob,Nombrecliente as Nombre,Importe,Pago as Credito,Saldo,SALDO AS SALDO1
from tbdetallecliente
where codigopago like ('" & txtbuscarCodigo.text & "*') and (condicion= 9) and not estadoComprob= 'A'
AND TuCampoFecha >= FechaDada
order by numinterno
Aunque en esto ultimo yo preferiría usar Between puesto que este mismo código después me puede servir para ver los movimientos SOLO de un rango de fecha pasada.
OffTopic: Esta raro esta parte de tu sql: "...,Saldo,SALDO AS SALDO1 "
Saludos