I don't care either way, althoug, occasionally, it would be nice to be able to set any base, such as:
Dim Year(1900 to 2100) as int
This way, by the way, is how i declare every array in VB, with an explicit lower boundary, even if it is 0, just to be clear.
To be honest, though, I think the 0 based arrays are a leftover from when memory space was a real issue, and by starting with 0, you gained another possible slot with the same size variable. Now, you can just slap a 32 or 64 bit int there and store as many items as you like, because a few bytes more is neglible (and, in some cases, preferable, as the CPU may be faster with types equal to the data bus width, and probably allocates that much for a variable anyway).