Utilizo o componente TACBrNFe para importar ler os dados das notas que o usuário recebe e então importá-la para o ERP. Utilizo o método LoadFromStream da classe TNotasFiscais para carregar o conteúdo do XML. Esse método, além do LoadFromFile e LoadFromString, executam o método GerarNFe após carregar os dados, fazendo com que a chave da NFe seja remontada.
Entretanto, no caso de NFe avulsa, o CNPJ do emitente presente na chave é o CNPJ da SEFAZ e não da empresa que emitiu a nota. Então após carregar o XML, a chave acaba sendo alterado porque é remontada usando o CNPJ da empresa emitente.
Verifique os métodos idênticos no CTe e eles possuem um parâmetro adicional para não executar o GerarCTe, criado a pedido deste post
Implementei a mesma lógica nos métodos da NFe na minha working copy, mas acredito que poderiam ser incorporados ao trunk.