Das liegt daran, dass die QShell Unix-basiert ist und dort das Zeilenendezeichen nur x'0A' (LF) ist.
CRLF wird vorzugsweise in der Windows-Welt verwendet.

CAT kommt auch nur mit Text-Dateien zurecht.
Anders siehts mit CP aus:

cp f1 f2 ... fn FZ

Beim CP (Copy) werden alle Dateien vor der letzten in die letzte kopiert.
Das kopieren auf sich selbst (cp f1 f2 f2) funktioniert nicht, da die Zieldatei zurückgesetzt wird.
Also:

cp file1 file2 newfile