I found that using BLOCKWRITE and BLOCK READ on an untyped file seems to work. If it doesnt or causes problems I will put more information here..
f : file;
hFile : integer;
myUserApp : TUserApp;
AssignFile (f,'test');
ReWrite (f,1); //must specify size other wise io err 1784
myObject := TObject.Create;
BlockWrite (f,myObject,512);