Bueno, a mi siempre me vuelve un poco loco el tema de redimencionar arrays.
Antes te decía que suelen utilizar el objeto "Dictionary" para los carritos de compra. Leete esto:
Cita: Aunque quizá estéis pensando... "Vale, pero todo lo puedo hacer con vectores". Debéis saber que el objeto diccionario es bastante rápido a la hora de añadir información, que no precisamos saber de antemano el tamaño ni tenemos que hacer ReDims como con los vectores... Además, es ideal para almacenar valores asociados entre sí, sin tener que jugar con dos índices en caso de hacerlo con un vector
Extraido de aquí:
http://www.aspfacil.com/articulos/dictionary.asp
Nunca hice un carrito de compra, pero intentaría de esa manera si lo necesitara hacer.