What value should I use for MODE?
Nothing, because you are not calling the constructor that takes a Mode parameter. That parameter is only for when you pass in a file name, not a pre-existing handle.
Delphi 7 code
...
That code is wrong. It should be creating a
THandleStream, not a
TFileStream. The sole purpose of
TFileStream is to accept a file name as input (and expose that file name in the
FileName property). But since this code is not passing in a file name to the stream, then
TFileStream is simply the wrong class to use.
Now Lazarus requires also a MODE.
Only when calling the constructor that accepts a file name. Delphi allows calling ancestor constructors if they are public. The code you showed passing a file handle to the
TFileStream's ancestor constructor still compiles in modern Delphi versions. Why FreePascal/Lazarus is rejecting it, who knows, but its probably a good thing in this case.