Was ist denn i3 an der stelle und Was steht in FSelect.Strings ?
Klingt so als wäre FSelect.Strings.count kleiner als i3+1. Das lässt sich ja leicht abfangen.
Und wenns kleiner ist machst du halt statdessen FSelect.Strings.add
Das ist allerdings keine garantie dafür, dass der neue string dann auf dem index i3 steht.
Wie du das verwaltest musst du dir dann wohl noch überlegen