Thanks, yeah, the restriction is to remain compatible with DOS/FAT16. Wishing for a compiler directive or other supported method for programs to drop such ancient compatibility and instead support more-modern minimum standards like FAT32 or NTFS. My intent is to support at least the same range for File-Dates that Windows does.
That's why overloads are introduced. It's important to remain backwards compatible to old code. And a compiler switch can't change anything there, because pre-compiled units can not be affected by another unit.
Sidenote: FAT32 has the same restriction.
Found some current overloads of FileSetDate at https://gitlab.com/freepascal.org/fpc/source/-/blob/main/rtl/objpas/sysutils/sysutils.inc lines 61 and 82. Both versions call FileSetDate( ). Where is that function?
Those are only wrappers that wrap from name-based to handle-based
FileSetDate. The real
FileSetDate implementations are in the
SysUtils unit of each platform.
Also where can I find sources for "FileSetDate overloads that take a TDateTime"? Could not find sources in snapshot downloads 
Easiest is to down the full source for FPC 3.3.1 (aka
main) and change Lazarus' source directory to that. Then you write a program or unit that uses the
SysUtils unit and you use the
FileSetDate identifier somewhere.
Ctrl+Click on it which will take you to the declaration and
Ctrl+Shift+Down which will take you to the implementation for the setup target.