Man könnte auch in Richtung Buffer-Overflow nachdenken,
> wenn filename nach f_liste steht, dann stimmt was nicht
Wenn du z.B. in f_liste rein schreibst, aber in einen Index, welchen es nicht gibt, dann ginge natürlich irgendwas Anderes kaputt (z.B. das filename, wenn es dahinter liegt

)
An das hatte ich auch schon gedacht und ich würde hier mal vor dem Zugriff den Index überprüfen:
Delphi-Quellcode:
f_i := f_i + 1;
Filename := f_liste[f_i]; // hier passiert der Fehler