Eu depurei e acredito que encontrei onde está o problema, mais não tenho certeza se a solução que encontrei pode dar algum "efeito colateral"
No ACBr novo, dentro do arquivo:
....\Fontes\ACBrBoleto\ACBrBancoSicoob.pas
tem uma procedure que não tem no mesmo arquivo do ACBr antigo:
.
.
function TACBrBancoSicoob.CalcularTamMaximoNossoNumero(const Carteira: String; const NossoNumero : String = ''; const Convenio: String = ''): Integer;
begin
case StrToIntDef(Carteira,0) of
1 : begin
if fpLayoutVersaoArquivo = 810
then
Result := 8
else
Result := 7
end;
9 : Result := 9;
else
Result := 7;
end;
fpTamanhoMaximoNossoNum := Result;
end;
Esse parametrro carteira vem nulo, dai ele assume o 0 e cai no else e assume 7;
Se eu simplesmente tratar o else da mesma forma que o 1 o problema fica resolvido
function TACBrBancoSicoob.CalcularTamMaximoNossoNumero(const Carteira: String; const NossoNumero : String = ''; const Convenio: String = ''): Integer;
begin
case StrToIntDef(Carteira,0) of
1 : begin
if fpLayoutVersaoArquivo = 810
then
Result := 8
else
Result := 7
end;
9 : Result := 9;
else
begin
if fpLayoutVersaoArquivo = 810
then
Result := 8
else
Result := 7
end;
end;
fpTamanhoMaximoNossoNum := Result;
end;