Bisher war ich der Ansicht, dass php Dateien wie Textdateien als ASCII übertragen werden sollten und nur Bilder binär.
Das ist ein Irrglaube
Der ASCII-Modus und die automatische Konvertieren hilft einem nur Fehler zu vermeiden, wenn man seinen Editor nicht im Griff hat, bzw. dieser keine verschiedenen Kodierungen beherrscht. (die Automatik kann sich natürlich auch mal vertun...)
(BTW. ist dadurch der binäre Modus natürlich schneller)
Nach der Übertragung muss die Datei nur in dem Format sein, mit dem das Zielsystem was anfangen kann. Bei einem Unix-Server müssen da z.B. die CGI/Shell-Scripte zwingend im Unix-format sein (Zeilentrenner "\n").
Da aber die meisten Windows-Editoren auch direkt mit diesem Format arbeiten können, muss man die Dateien nicht mehr beim Download erst konvertieren (Zeilentrenner "\r\n") und beim Upload wieder vis versa.
Wenn der Server ein Windowsserver ist, darf natürlich keine (automatische) Konvierung stattfinden (wenn dein Client auch ein Windows ist). Manche FTP-Server für Windows geben sich aber als Unix-System aus, wo es dann zu einer falschen, doppelten Konvertierung kommt.