Da hast Du natürlich recht, aber
seitdem das Windows-
API an sehr vielen Stellen, auch unbeabsichtig mitspielt, ist diese Benutzung mit Vorsicht zu genießen.
Ich wollte damit auch nicht die Verwendung rechtfertigen, sondern nur aufzeigen, warum es in manchen Situationen scheinbar funktioniert. Ein String als Datentyp für einen Binärwert ist natürlich Unsinn, aber gegen einen harten Cast auf PChar,
damit der API-Aufruf kompiliert, ist auch der korrekte Typ machtlos.