It would probably be wise to keep an entire copy of the web site on your local system and back it up. Keep them in sync with publishing tools or ftp. That way you always have a second off-site copy. You could still do the ftp thing, but it may take a while.
I used to create a flag or semaphore file in the remote dir that was the last file in the list (alphabetically). That way, when the ftp mass transfer (mget) stopped, I could check to see if I got that file. If I did, that means I got all the others as well and it was a successful transfer. If it didn't make it, the ftp transfer failed somewhere. It's possible to test for that in a batch file.
Apart from counting the files, this was the best way to make sure, under batch control, to be sure the ftp transfer was successful. This was when the ftp client in Windows was much younger, too, with minimal scripting. Of course, with VB scripting you can do a lot more, like compare file sizes, do multiple ftp transfers with multiple sessions, etc., but that's a lot of work. You might be able to use something like Ipswitch's WS_FTP Pro to do this more readily as it has much better scripting capabilities, but it is $55.