I find it strange that the compiler accepts this since I didn't define the last character in the string. So, I assume the compiler may have left that undefined?since it's a typed constant, the "undefined" character will be a #0
Everything you posted is valid FPC/Pascal code. It is just not very handy, and you might get into problems defining literals.
I was a Topspeed Modula-2er before I migrated to Free Pascal in about 1998.. I'd advise you to not try to retain the old M2 types, but to fully rewrite using ansistrings.
Encoding issues might ensue, but in my case that was hopeless anyway (it only supported default locale, whatever it was)