Der zweite Punkt ist evtl. das hier: (MAXDWORD). Laut MS sollte es (MAXDWORD+1) sein. Aber die +1 verkraftet Delphi nicht. Der Fehler ist aber nur paar Byte.
"paar Byte" = wfd.nFileSizeHigh
Bei 10 * 4 gb gibt er 10 Byte -demnach- weniger zurück.. unverkraftbar!