I've updated the code. See the notes inside the files (inside FtpDownload.zip) for more details.
Resources:
Downloading Files Using FTPWebRequest
System.Net.FtpWebRequest class behaves differently in .Net Framework 4 vs .Net Framework 3.5
Files attached below (in .zip file):