Coincido en sugerir el uso de HAVING. De otra parte creo que la columna proveedores.proveedor debería estar incluida en el Group By:
Código SQL
[-]SELECT ctacte.pista, proveedores.proveedor,
sum(ctacte.haber) as Haber,
sum(ctacte.debe) as Debe,
sum(ctacte.haber) + sum(ctacte.debe) as Saldo
FROM ctacte
INNER JOIN proveedores ON ctacte.pista = proveedores.pista
WHERE ctacte.liquidado = 0
GROUP BY ctacte.pista, proveedores.proveedor
having (sum(ctacte.haber) + sum(ctacte.debe)) <> 0
order by proveedor