Boa tarde.
Note que vc está passando ao nossonumero mais dígitos do que oque corresponde as posições livres para utilização, que seriam somente 6 posições, para ilustrar melhor veja como é montado o campo nosso número na montagem da remessa. Resumindo o problema não é a posição da informação.
Procure passar somente os 6 digitos e refaça o teste.
ChaveASBACESemDigito := '000';
ChaveASBACESemDigito := ChaveASBACESemDigito + PadLeft(OnlyNumber(ACBrTitulo.ACBrBoleto.Cedente.Agencia), 3, '0');
ChaveASBACESemDigito := ChaveASBACESemDigito + PadLeft(OnlyNumber(ACBrTitulo.ACBrBoleto.Cedente.Conta), 6, '0');
ChaveASBACESemDigito := ChaveASBACESemDigito + PadLeft(ACBrTitulo.ACBrBoleto.Cedente.ContaDigito, 1, '0');
ChaveASBACESemDigito := ChaveASBACESemDigito + PadRight(trim(ACBrTitulo.ACBrBoleto.Cedente.Modalidade), 1); //Categoria da Cobrança
ChaveASBACESemDigito := ChaveASBACESemDigito + PadLeft(IntToStr(StrToInt(ACBrTitulo.NossoNumero)), 6, '0');
ChaveASBACESemDigito := ChaveASBACESemDigito + PadLeft(IntToStr(Numero), 3, '0');
Result := ChaveASBACESemDigito + CalculaDigitosChaveASBACE(ChaveASBACESemDigito);
Att.
Tente fazer o teste desta forma e veja oque