i dont know about that quantity of files but you can use ftp's mget (or mput)
if you are ftp'ing TO the server to download the files from
Code:
ftp -i server.with.4000.files
then once in the directory with all the files, use mget to download them all without interaction (the ftp
-i turns off prompting when mget/mput multiple files so that it will run down the list without asking you to confirm that you want to get each file
again i have never tried to download that many files from a single ftp directory before so could not tell you that it will work in your particular situation, but worth a shot none-the-less
hope this helps...