Es ist schon eigenartig. Man sucht mehrere Tage nach der Lösung und wenn man dann fragt, findet man doch noch die Lösung. Zwei Fehler waren drin.
Delphi-Quellcode:
pcmd^.CdbLength := CDB12GENERIC_LENGTH;
pcmd^.SenseInfoOffset := SizeOf(SCSI_PASS_THROUGH_DIRECT);
// pcmd^.SenseInfoLength := SizeOf(SCSI_PASS_THROUGH_DIRECT);
Die CdbLength war um zwei Byte zu gering und anstelle des SenseInfoOffset hatte ich SenseInfoLength gesetzt.