うーん、長すぎるファイル名(ああああ...)がFindNextFileを失敗させてるねぇ。
GetLastErrorを見てないから、そこで列挙が止まっちゃう、と。

win32/win32.c
1505: while (FindNextFile(fh, &fd)) {
を
1505: while (FindNextFile(fh, &fd) || GetLastError() == ERROR_MORE_DATA) {
にすればとりあえず(あああ...)以外はtrueになるけど