Ein Repeat musst du nicht durch ein klicken in den Listboxeintrag realisieren. Es genügt wenn du statt dessen einfach nochmal ein BassDllPlayer.Play machst.
Bei einem Shuffleeffekt würde ich so machen:
Delphi-Quellcode:
BassDllPlayer.LoadFromFile(ListBox1.Items.Strings[Random(ListBox1.Items.Count)]);
BassDllPlayer.Play;
wenn in der Listbox nur die Dateinamen ohne Pfad stehen hat, musst du auf das Array mit den Pfaden über den jeweiligen Index zugreifen.
Gruss,
Christian