Bom dia Pessoal
De novo eu, no trunk2 analisei os códigos e consegui corrigir, na unit "pcnRetDownloadNFe" na linha 238 devemos comentar o seguinte código: {FretNFe.Items.FprocNFe := IIF(Pos(ENCODING_UTF8, FretNFe.Items.FprocNFe) > 0, '', '<' + ENCODING_UTF8 + '>') + FretNFe.Items.FprocNFe;}
porque isso, se analisar o código na hora que efetuamos o Envio dos Dados para o WebServices recebemos um retorno UTF8 e convertemos para um formato nativo de String usado pelo IDE: FPRetornoWS := ParseText(FPRetornoWS, True, True);
a partir deste momento estamos trabalhando com uma string, e o problema realmente ocorria na hora que era chamado a função Gravar, porque dentro da função Gravar tínhamos o seguinte código UTF8Str := ConverteXMLtoUTF8(ConteudoXML); para converter para UTF8, porem dentro da função "ConverteXMLtoUTF8" ela testa para ver se já tem "'<?xml version="1.0" encoding="UTF-8"?>'" e como já tinha acabava não convertendo de string para UTF8.
Pessoal se alguém tiver alguma ideia melhor favor postarem para que possamos cada vez mais melhor este componente, vou dar uma analisada na trunk para ver se conseguimos corrigir isso também.