I still think the Old Pascal file system hasn't died and should be brought up to the present without a lot of issues.
We have Managed Records now for some time and It would be a good idea for the AssignFile to instead of using a fixed array internally which is 255 bytes, Delphi is 260; that maybe a PWideChar pointer can be placed there instead when the platform supports it.
A Finalize operator can be used to free and nil it.
a Initialize operator of course can be used to zero it out.
This way file names can exceed the limit and things will still look native. I know you can use the Managed string but, the {$H+} isn't always in program settings and it would need to be Widestring etc.
Jamie