Il problema è che sbagli ad fare riferimento l'array
UBound(ArrayLocRigaReso)
perchè non è detto che elenchi lo stesso numero di informazioni rispetto al record.
Infatti è proprio quello che accade nel tuo codice.

Per cui questa istruzione non va bene:
For iLocNol = contaPos To UBound(ArrayLocRigaReso)

dovrebbe essere, ipoteticamente:
For iLocNol = contaPos To iNumeroElementiDaConfrontare

Non so dirti come risolvere perchè la tua implementazione non è molto chiara, e non si sa come ottieni gli elementi.
Sarà un mio limite...

l'unica cosa che posso dire è che devi tener conto degli elementi che crei così da fare un confronto alla pari ovvero Elemento 3 <--> Descrizione(3).