Boa noite Italo, eu acho que descobri o problema desse amigo.
Acontece que se você estiver setado com a versaoDF = 310 mas consultar via loadfromfile um arquivo na versao do arquivo 200 depois a versaoDF muda para 200 e qualquer outra operação o sistema fica com esse valor na propriedade versaoDF.
O ValidaXML você pode testar isso que estou falando.
Dai ele vem nessa função.
function TNotasFiscais.LoadFromFile(CaminhoArquivo: String; AGerarNFe: Boolean = True): Boolean;
// Incluido por Italo em 16/07/2014
// Detecta o modelo e a versão do Documento Fiscal
FConfiguracoes.Geral.ModeloDF := StrToModeloDF(OK, IntToStr(LocNFeR.NFe.Ide.modelo));
Versao := LocNFeR.NFe.infNFe.VersaoStr;
Versao := StringReplace(Versao, 'versao="', '', [rfReplaceAll,rfIgnoreCase]);
Versao := StringReplace(Versao, '"', '', [rfReplaceAll,rfIgnoreCase]);
// Aqui ele muda para 200 se você consultar 1 documento da versao 2.00
FConfiguracoes.Geral.VersaoDF := StrToVersaoDF(OK, Versao);
A partir a versaoDF fica setada para 200 e assim a pasta schemas acaba ficando errada.
Renato Gosuen