Gracias por sus respuestas, logre hacerlo funcionar con "readfile" y "writefile" quedo algo asi:
Código Delphi
[-] hFile := createfile(PChar(FFileName), GENERIC_READ or GENERIC_WRITE , FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
SetFilePointer(hFile,GETFILESIZE(hFile,0)-SizeOf(FTagRecord)-SizeOf(FTagRielli), NIL, FILE_BEGIN);
IF writefile(hFile, FTagRielli,SizeOf(FTagRecord)+SizeOf(FTagRielli),dwread, nil)=FALSE THEN
SHOWMESSAGE(FLOATTOSTR(GetLastError));
No funciona bien con "TFileStream" y "AssignFile".
Ahora me encuentro con el problema de que bajo Windows XP funciona perfecto, pero en Windows Vista y seven, no graba el archivo. Lo ejecute como administrador y tampoco. Cambio algo con estas versiones de Win?