Setz doch bitte künftig Delphi-Tags, dann wird der Code schön formatiert und ist besser zu lesen. Du kannst dazu die "Helm"-Schaltfläche im Beitragseditor benutzen, oder Du machst das von Hand.
Zum Problem: wo wertest Du denn aus, ob i noch innerhalb des gültigen Bereichs ist? Der gültige Bereich wäre zwischen 0 und Columns.Count - 1.