Склейка строчек специфична. Может где случайно SIZEOF вставили вместо LEN[+1]. Или нолик забыли поставить или наоборот лишний в строку в центре воткнули. Или забыли что просто string - это 81 байт.

STRUCT T
W : WORD;
RR : REAL;
END_STRUCT

Проверьте в онлайне

p : pointer to real;
v : T;

p := adr( T.W ) + sizeof(t.w); (*казалось бы правильно чтоб добраться до T.RR*)