I'll try to check which *.exe are lacking.
That will be difficult because you save in MyFolders.txt the folder names only, in MyFiles.txt the file names...
On my machine, the difference is 8 files among 17,000, 0.047%, see screenshot.
idden and read-only files seem not affected, the count is equal for both applications.
But one culprit is already identified: Your FindFirstFile will
not find files with non-Latin alphabet names.
GetFiles() is Unicode aware, filenames are returned in UTF8 format.
However, that doesn't explain why your folders.exe finds
more files for my drive C: :(
What comes to my mind is "super hidden" files, or double-counting, e.g. because of links. But really, without identifying which files are not found in either application, there is no chance to find the reason.