On this machine, I'm running Lazarus 1.8.4 with FPC 3.0.4
I have the 32-bit edition installed, plus cross-compile to 64-bit.
I've tested the code generation from several Windows 10 x64 systems, and I've tested the resulting executables on Windows 10, Windows Server 2012-R2, and Windows Server 2016, and the results are similar. (Identical on same platforms)
The 32-bit compiled code finds less files which clearly exist as compared to a DIR command or other file manipulation.
The 64-bit compiled code finds all the same files.
The 32-bit list is much smaller (when I use larger search criteria). I found this while testing output from my 32-bit and 64-bit utility...
It affects FindFirstFileExW as well.
Please see the attached sample code.