Hallo padavan,
das einzige, was mit deinem zweiten Code-Fragment schief laufen kann, ist tatsächlich ein falscher Wert in der Variablen wishes, aber das führt bestimmt nicht zu einem Programmabsturz. Du musst an einer anderen Stelle noch viel Schlimmeres machen, die Folgen davon werden halt erst später bemerkt. Isoliere das Problem oder zeige mehr Code.
Außerdem noch ein Tipp: deine Art eine Playlist zu sortieren ist originell, das interaktive Umstellen der Einträge könntest du aber konventioneller durch die beiden Befehle MoveUp() und MoveDown() bewerkstelligen. Die kannst du recht simpel mit der Methode Exchange() implementieren:
Delphi-Quellcode:
with Listbox do
Items.Exchange(ItemIndex, Succ(ItemIndex));
with Listbox do
Items.Exchange(ItemIndex, Pred(ItemIndex));
Grüße vom marabu