I think people are customized to the 0-based indexing in the context of C. But that's all about it, just a custom, and one should be restricted within the C context (because everything is more or less an offset).
A programmer could more easily fall into more serious trap if he/she mix the mindset of offset and index (e.g. using continuous block with using non-continuous data structure). I think Lua's approach, though not solving all problems (and has its own pitfall), is not by nature inferior to a universal 0-base indexing system. We would explore auxiliary pattern such as always naming parameter properly as "index" or "offset".
Dong