O que fiz foi comentar as duas validações de troco do ACBR. Enviando as notas ao Sefaz, foi aceito sem erros.
Depois verifiquei que o problema deve estar no arredondamento, já que a quantidade dos produtos (peso) tem 3 casas decimais, e ai quando eu calculo o valor nas Notas, arredondo para 2 casas decimais (somente os valores em reais). Pelo que vi, o ACBR está fazendo o cálculo novamente, multiplicando o valor unitário pela quantidade e, talvez, nesse momento ele esteja arredondando diferente de mim, causando essas diferença de centavos no troco.
Por agora está funcionando com as validações do ACBR comentadas. Vou analisar o código com mais calma.
Não testei com o exemplo do componente. Já tenho essa rotina implementada no sistema há um tempo. Quando atualizei o ACBR recentemente é que comecei a ter essa "falha". Já consegui um contorno. Depois vou analisar o código com mais calma.