O erro retornado esta nesta função do ACBRSerial.
function TACBrECFVirtualClassCupom.EfetuaPagamento(AValor: Currency;
const AObservacao: String; APosFPG: Integer): TACBrECFVirtualClassPagamentoCupom;
begin
if fpPagamentosCupom.Count >= 999 then
raise EACBrECFERRO.Create(ACBrStr('Máximo de Pagamentos já atingido (999)')) ;
AValor := fpECFVirtualClasse.RoundECF( AValor );
Result := fpPagamentosCupom.New;
with Result do
begin
PosFPG := APosFPG ;
ValorPago := abs(AValor) ;
Observacao := AObservacao ;
fpTotalPago := fpTotalPago + max(AValor, 0);
end;
end;