Schlaufe? Nicht eher eine Schleife?
Wird durch " btnoeffnen.Click; " vllt. ein Eintrag in der ListView oder der Liste entfernt?
Ansonsten ist der ItemIndex beim ListView beim letzten Schleifendurchlauf mit i ungültig, da dann der ItemIndex der ListView auf einen zu großen Wert gesetzt wird.