Outra coisa que notei no código o seguinte:
CodigoBarras := IntToStr( Numero )+'9'+ FatorVencimento +
IntToStrZero(Round(ACBrTitulo.ValorDocumento*100),10) +
padR(OnlyNumber(Cedente.Agencia),4,'0') +
ACBrTitulo.Carteira +
ACBrTitulo.NossoNumero +
padR(RightStr(Cedente.Conta,7),7,'0') + '0';
linha 107 veja que fixaram o tamanho da agencia para 4 ao invés de pegar da variável informado na criação! entre outros
veja abaixo linha 217:
aAgencia := IntToStrZero(StrToIntDef(OnlyNumber(ACBrBoleto.Cedente.Agencia),0),5);
aConta := IntToStrZero(StrToIntDef(OnlyNumber(ACBrBoleto.Cedente.Conta),0),7);
aCarteira:= IntToStrZero(StrToIntDef(trim(Carteira),0), 3);
A menos que eu esteja vendo errado no código seria correto fazer uma revisão na unit !