O WebService do governo não devolve o XML como você o recupera em (NFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.XML)....
Ele devolve um Envelope SOAP, com vários componentes dentro... pra chegar no XML que você extraiu com o comando acima, muito "parser" foi feito...
Observe ainda, dentro do XML do envelope SOAP de Resposta, achando a Tag de onde esse XML do evento é extraído, que não há a Tag de indicação de (UTF8)... ou seja, se simplesmente lhe entregarmos o que contem dentro da Tag do evento, como UTF8, você continuará com o problema... pois não tem o cabeçalho de indicação do tipo do XML
Para isso existe o método
function ConverteXMLtoUTF8(const AXML: String): String;
em ACBrUtil... ele faz a conversão e inclui o cabeçalho (se necessário)... deixando o resultado final pronto para ser salvo e exibido em qq browser