Jose Manuel:
El problema de tu código original está en el renglón Dimension arreglo[1,5] .
Te explico:
En la ayuda de VFP (tengo la versión 9), se detallan los diferentes casos (cuando sí hay o no hay archivos, cuando el arreglo está creado o no está creado, etc).
Centrémosnos en el caso que te resuelve la duda:
If the array exists and ADIR( ) returns 0 because no matching files are found,
the array remains unchanged.
Si el arreglo existe y ADIR devuelve cero (porque no se encontraron archivos), el arreglo permanece no cambiado.
Teniendo en cuenta tu escenario (el código que nos muestras y nos dices que no hay archivos), hagamos la prueba de escritorio:
1. Con la instrucción Dimension arreglo[1,5] creamos el arreglo; el arreglo ya tiene una fila (y cinco columnas, pero sólo nos interesa saber que tiene una fila).
2. Intentamos buscar los .PDF que hay en el directorio en cuestión con =ADIR(arreglo,"*.PDF") .
Recomendación: te recomiendo reemplazar
por
=ADIR ( arreglo, addbs("E:\SCANNER\EXPORTAR\2019\"+alltrim(VCODIGO100))+"*.PDF" )
De esta forma te evitas cambiar el directorio del programa.
3. Intentamos averiguar cuántos archivos se encontraron utilizando DELTA = ALEN(arreglo,1) .
Esta instrucción nos dice cuántos renglones(filas) tiene el arreglo.
------------------>> Hasta aquí nos llega la dicha.
Por que en el numeral 2 (de esta mi explicación) la función ADIR() --al no encontrar archivos-- deja el arreglo intacto, sin cambiarle nada a lo que tiene, que es una fila con cinco columnas ---es decir cinco elementos--- todos con valor .F., pero al fin y al cabo una fila...... que es lo que te entrega ALEN(arreglo,1).
Te recomiendo reescribir el código que nos indicaste, más o menos como te muestro a continuación.....