Musíš si uvědomit, že když vymažeš položku ze StringListu, změní jednak StringList.Count a též hodnoty všech indexů, co následují po vymazané položce. Tudíž procházet od konce je jediné možné řešení, páč tě pak už nezajímá změněný počet položek ani indexy co se mění za zmizelým prvkem.