Ich denke mal der Fehler liegt schon beim speichern:
Delphi-Quellcode:
Buffer := TMemoryStream.Create;
VSTObjects.Header.SaveToStream(Buffer);
// Buffer.Position auf 0 setzen
Buffer.Position := 0;
Reg.WriteBinaryData(SSetVSTObjectsHeader, buffer, buffer.Size);
Buffer.Free;
Versuch das mal.
Möglicherweise lag hier schon der Fehler und im Reg-Eintrag war ein leerer Stream gespeichert.