Bom dia...
Eu juntei informações aqui do site com as orientações do colegas e consegui criar uma rotina para importação do xml para o meu sistema.
Vou postar as rotinas e é só adaptar para seu programa.
Os xmls tem que estar em uma pasta especifica.
Funciona assim:
Primeiro é feito uma leitura dos xml´s da pasta e apresentado para o usuário fazer a escolha de qual xml quer importar. Se o xml já tiver sido importado é avisado para o usuário e cancela importação.

- Lista de XML
Quando o usuario seleciona o xml o sistema abre o xml e pega o cnpj do fornecedor e o numero da nfe.
Daí é feita uma pesquisa se existe o fornecedor cadastrado. Se não encontrar é mostrado opção de cadastrar um novo fornecedor ou associar a um fornecedor já cadastrado.
Depois é exibido uma tela com os itens do xml. É feita uma pesquisa com o código de barras do item. Se for encontrado no cadastro de produtos o sistema associa automaticamente senão ele pesquisa novamente pelo fornecedor e o código original do item. Se não encontrar o usuário seleciona em qual grupo ele quer cadastrar o produto e o sistema efetua o cadastro do produto automaticamente conforme regras prédefinidas.

- Tela com os itens do XML
O usuário pode tb associar o item a um produto cadastrado como mostra a tela abaixo

- Tela para associar itens
Ao final da verificação dos itens o usuário pressiona F7 para processar a compra. É apresentada uma tela mostrando os valores totais da nota e pede a margem de lucro e o frete (se tiver o valor de frete na nota já é buscado automaticamente senão poderá ser definido).

- Tela de Fechamento
É claro que os dados que vão ser coletados do xml vai depender de sistema para sistema. Os meus clientes estão muito satisfeitos porque ao final imprimo um espelho da nota com codigo original + codigo gerado pelo sistema + descricao + valor e codigo de barras. Daí o usuário somente fará a conferência e outro usuário com poder de composição de preço de venda revisa, mas não precisa digitar nenhuma informação adicional, como código de barras, ncm e etc. Somente preços. O próximo passo agora é selecionar e coletar informações do sped fiscal e sped pis cofins... mas aí é outra história..
Como usa as funções fopen(),fseek(),fread() e fclose() ainda não tive problemas com tamanho de arquivo.. Lê certinho xml com mais de 64k. Inclusive já li aqui na loja xml com mais de 200 itens.
O arquivo compra.prg tem praticamente todas as funções. As que não está são funções específicas do meu sistema, que não vai impedir em nada sua compreensão.
Rubens