I prefer 0 based index since since modulo (and the AND operator when used for modulo) always returns 0 for some values.
I often find myself using arrays like this:
int blah = array[i & 0xff]; I often get that kind of code wrong when using 1 based indices.