Dein Compiler gibt nicht zufällig eine Warnung aus?
So vonwegen Result sei nicht initialisiert.
Delphi-Quellcode:
if GetVolumeInformation(...) then
Result := Drive_Flags and FILE_READ_ONLY_VOLUME <> 0
else
Result := False; // <<<<<<
// oder
Result := GetVolumeInformation(...) and (Drive_Flags and FILE_READ_ONLY_VOLUME <> 0);