Quite frankly, I dont care if you agree or disagree, its how things work.
If anything is changing permissions automatically on files you've uplaoded, it's the remote server. Perhaps you're overwriting existing files that already have permissions set and the ftp server recognises that and preserves the attributes.
This is not a function of any client as quite frankly, it's impossible.
Say you download your files to yourself, and then 2 days later you go to upload them to a remote server, where is the client or remote server going to get those file permissiosn from when they dont even exist in a windows environment in that format?
Just think about it for a minute. There's no middle ground, it's simply impossible.