Das Problem hat nicht wirklich was mit dynamische Arrays zu tun.
Da Felder in Dokumenten ja Mehrfachfelder sein könnten, liefert doc.GetItemValue("wert") immer ein Array zurück. Du versuchst dann dieses Array in deine Longvariable wert(i) zu schreiben.
Mit doc.GetItemValue("wert")(0) bekommst du nur den ersten Wert des Arrays also den ersten Feldinhalt.