When you transfer a file in ASCII/text mode, the ftp
client will normally convert carriage return and linefeed
characters as needed for the destination system.
Your ftp is not adding any formatting, it is simply
preserving what is already in the files on the Linux side.
You are correct in transferring the zip file as binary,
however the file *within* the zip file are still in their
original format. You either need to convert them before
adding them to the zip file, or convert them after they
hit the NT side.
Don't know for sure about Linux, but
on my Solaris machine there is a "unix2dos" command which
does that type of conversion.
If you want to try converting the files yourself before zipping,
you can probably get away with something like
s/\n/\r\n/g if it's plain text.