I think you found the problem!
If you are uploading image files in ASCII mode your images will be broken. ASCII is a 7-bit code that only represent 255 characters of the American Standard Code for Information Interchange (essentially, the computer equivalent of alphanumeric character, punctuation, assorted sysmbols, and printer/teletype/terminal control codes).
Using binary mode will make sure that all 8 bits of the byte are properly transferred, and “pictures” use the full 8 bits of the byte to store their information. While not an extensive, or particularly authoritaive list, you should be ok for most web ftp stuff if you use the following:
ASCII MODE for:
“pure” text files - source code and CSV data in general
PHP Program files
perl programs (look for .pl or .cgi filetypes)
BINARY MODE for:
Essentially everything else
graphics of any type
zip or other compressed archive files
.mp3, .avi, mov, wma - media in general
You can find more on all this with your friend and mind - Google!