Deja tu código como lo tienes incialmente y solo declara el arreglo antes como te sugerí, con eso funciona; por ello estoy seguro que el problema es el que te comenté. Cuando tu declaras una variable el intérprete le reserva cierto espacio de memoria, como no declaras el arreglo, lo pone en la localidad siguiente al espacio reservado para el RS, y seguramente el puntero te plancha la localidad 0
Por eso se recomienda poner el
Option Explicit y evitarte errores poco controlados como estos.
Es más, no definas el arreglo, solo declara las variables que usas:
option explicit
dim conexion, ConnString, variable, sSQL, rs, i, tamaarray, arrResult
Y con eso funciona, entonces ahora si NO es un error del lenguaje, el error esta entre el teclado y la silla
Saludos