Dave, this is an old memory from an old guy, but... from a time when MS wasn't playing their cards TOO close to their vest, I recall reading a discussion on this.
For all numeric fields of any type, the thing stored in the record is the number itself. So that covers all sizes of integer: BYTE, WORD, LONG, QUAD, CURRENCY (which is a typecast of OCTAWORD), and BOOLEAN (which is a typecast of BYTE); SINGLE, DOUBLE, and DATE (which is a typecast of DOUBLE). However, for text fields, the thing stored in the record is a descriptor structure. The structure contains four fields: Two BYTE fields encoded to identify the field (as type SCALAR + STRING), a WORD for size, and a LONG for the pointer address relative to the start of the database file. The pointer then points to the first free byte following the actual record, and you use the size and pointer fields to pick up the text. If you have more than one text field, the second string starts after the end of the maximum string for the first text field.
If you use a LONG TEXT field, again you get a descriptor - but this time the address portion of the descriptor does not point to the end of the related record. The LONG TEXT / MEMO field could be anywhere in the address space. I don't recall reading about the MEMO using linked blocks, but it would make sense.
And I'll repeat that it has been years since I read about this so my cob-webby memory might have a few loose strands here and there.