Boa tarde!
Tive um problema no Sicoob relacionado ao dv do nosso número. O Sicoob parece não verificar se o dv está correto na remessa, logo do jeito que está passa, mas de acordo com o manual, até foi postado o trecho aqui pelo autor do tópico, Se o Resto for igual a 0 ou 1 então o DV é igual a 0, porém no código do a condição verifica apenas se for maior que nove põe zero. Há um comentário no próprio trecho alertando pra colocar 0 quando der 0 ou 1.
function TACBrBancoob.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String;
...
//(Se o Resto for igual a 0 ou 1 então o DV é igual a 0)
if (digito > 9) then
digito := 0;
...
Eu percebi isso por que tive clientes que o sicoob aceitou o registro da remessa, mas ao pagarem o título o mesmo não constou no retorno, e veio no extrato o nosso número do boleto informando título não localizado. Como eu emito os boletos no sistema usando o gbBoleto ainda, ele gerou com o dv correto, mas o registro foi incorreto para esses casos, logo deu divergência entre eles.
Eu não usava o ACBr ainda, mas com a obrigação de registro dos boletos fiz o programa separadamente só para registro usando ao ACBr, como o cálculo do DV divergiu percebi o problema. Provavelmente quem usa o ACBr para emitir os boletos e registrar não enfrentará problema, pois mesmo não estando correto o dv, me parece que o Sicoob não o valida, então aceita. Mas pra quem emite usando outro componente ou emite na web usando outras fontes pode haver essa divergência.