Yo pondría algo así:
Código Delphi
[-]
type
registroInterno = record
campo1:integer;
campo2:string;
campo3:TDate;
end;
registroPrincipal = record
principal1:byte;
principal2:integer;
principal3:registroInterno;
end;
De esta forma, luego tendría que declarar la variable:
Código Delphi
[-]
var
registro:registroPrincipal
begin
registro.principal3.campo1:=33;
Supongo que eso es de lo que se trata ¿no?
Saludos.