Ich sehe es eher umgekehrt, man sollte sich in Teilen der Mathematik und im Alltag abgewöhnen, bei 1 anzufangen zu zählen (ich meine das natürlich nur halb ernst, es ist in unseren Köpfen und der Sprache zu etabliert um es zu ändern). In der Algorithmenvorlesung wurden hier z.B. aus irgendwelchen Gründen Heaps mit 1-basierten Arrays gezeigt. Mit 0-basierten Arrays wären die Formeln im allgemeinen viel kürzer gewesen... und das ist nicht selten so. Eigentlich ist es willkürlich bei 1 anzufangen, bei 0 erscheint es mir logischer.
Zähler <> Index
Was ich damit sagen möchte: Es ist korrekt, beim Zählen einer Menge mit 1 zu beginnen, weil man als Ergebnis ja die Anzahl der zu zählenden Einheiten haben möchte. Deshalb ist der Wert des letzten Index z.B. einer TStringList niemals identisch mit dem Wert seines Count-Properties. Anders ausgedrückt: Der Index hat nichts mit der Anzahl zu tun.