Mit der Zeile
Result := cdd.DiskData and $03 = 1;
wird bestimmt, ob auf der CD nur Datentracks, nur Audiotracks oder beides enthalten sein darf.
Wenn Du weniger streng bist und
Result := cdd.DiskData and $01 = 1;
nimmst, bekommst Du auch TRUE, wenn Audio- und Datentracks auf der CD sind. Deine Methode versagt dann allerdings.
Vergleiche auch
http://www.delphipraxis.net/internal...ct.php?t=80846