As everybody else says, don't rely on implementation details which might change.
If you know for a fact that later fields are not going to be used, then (arguably) you can omit them. If not, initialise them even if to an empty/null state.
It's unfortunate that while (I think) it's documented that a managed type such as a string or dynamic array will implicitly be initialised empty, you can't rely on a string field in a record constant behaving in the same way hence the knock-on effect to later fields.
So even if the record contained a sequence of strings (with nothing after them), the first which wasn't explicitly initialised would cause all later ones to raise at least a warning. Now it might be that that's unintentional and that the FPC developers would look favourably on a bug report, but even if that were fixed you'd have enormous problems if somebody tried to compile your code using a slightly earlier version of the compiler.
MarkMLl