V Delphi mi neprojde čtení z registru, resp. GetDataType:
if Reg.GetDataType('DigitalProductId') = rdBinary then
...
vrátí neznámý typ hodnoty (rdUnknown), když stejný kód přeložím s Lazarusem, vše je OK.
Zdá se, že v Delphi je problém se čtením klíče typu REG_BINARY.
Testováno na Delphi 2006, Win 10 64, Lazarus 2.0.10