I zipped them up again, redownloaded and unzipped. Different files weren't there. Entire directories were missing.
I tried using Winzip and the built in Windows compression. Same results. I inspected the zip file on the Windows machine, and the files clearly don't seem to be in there.
So, I go back to the server and unzip the zip file on the server. All the files are there.
I finally give up and go to my Mac and download the zip file and unzip it to a portable drive to sneaker net over to the windows machine.
But, how this happened is stumping me. The file size on Windows and Centos match exactly. If the file did not come down completely, I would have seen an error and the zip wouldn't have opened. If I zipped the files incorrectly, they would not be in the zip when I pulled it down to the Mac. I can't imagine file permissions doing it, and none of this stuff is hidden or a special kind of file.