Ich weiß zwar nicht ob das dein Problem löst, in dem Code zum Audio-CD lesen den ich vor einiger Zeit mal hier gepostet hatte, verfahre ich (wenn ich das richtig sehe) etwas anders (insbesondere bei der Berechnung der Sektoradressen):
http://www.delphipraxis.net/145494-audio-cd-rippen.html
Ich habe den Code gerade nochmal getestet und der letzte Track wird korrekt ausgelesen. Nur bei der Längenanzeige wurde im von mir getesteten Fall noch die Länge des auf der CD befindenlich Daten-Tracks dazu addiert -- es wurde jedoch nicht versucht diesen wiederzugeben.
Allerdings werte ich auch nicht so Scherze wie die Pausen zwischen den Tracks aus.