Testei dessa maneira, o lazarus da que o item está fora do intervalo, segue abaixo mensagem de erro. O que eu já esperava já que quando eu dei o comando .ADD ele criou um item no vetor com índice 0 e com i incrementado antes do código o software está tentando alimentar o item de Índice seguinte ao criado.
Olhei por muitas horas inclusive, mas como sou novo na área da programação e o código do exemplo em lazarus é complexo eu não consegui encontrar nada referente a alimentação dos produtos no compontente ACBrNFe.