I'd guess at first it's something to do with the translation between the windows rights we to the standard unix rights. I don't think we're requesting the "Read and execute" permission when we save files on windows. (and even then, it's not a given that would be translated to setting the executable bit by the remote filesystem).
You said that it doesn't happen if you save them locally and then push them to the linux machine. Push them how - are you scp'ing them up in that case, or copying them to the mounted file system?
Also, I'm assuming the linux drive is shared via Samba - is that right, or are you using NFS or some other remote file system?