A 'string' is not a buffer with an unlimited size that you can access directly.
Try something like this:
//...
FS.LoadFromFile('Mem.txt');
Try
SetLength(buf,FS.Size);
FS.Read(Buf[1],FS.Size);
Writeln(Buf);
//..
CJ: BTW: why didn't you use your favourite old-skool procs? 
AssignFile('mem.txt',T);
reset(T);
readln(T,buf);
CloseFile(T);

Not my favorite. Just generally what I tell other people to start with. It does read the string just not like I was hoping

.... How do I convert it back to a regular string?.. Also
Favorite