Ich würde eine andere Lösung bevorzugen:
Sleep((BassdllPlayer1.SongLength - abs(BassdllPlayer1.Position))*1000);
Abs() gibt den absoluten Wert einer Zahl als z.B. vorzeichenbehafteter Integer zurück.
Bei positiven Zahlen ist das ja eine Positive Zahl.
Ich finde es "logischer" 2 Vorzeichenbehaftete Integer zu subtrahieren, da das Ergebnis ja prinzipiel auch negativ werden kann. (Sollte nicht vorkommen, aber ...)