The mput feature of the FTP client doesn't work very well on slow connections (due to packet loss). When you do a mput *, the client has a tendancy to skip over the odd file from time to time. File permissions isn't a problem. Actually the FTP server gets the request to send the next file from the client, the server prints the message "READY TO RECIEVE...", and then the client at times just doesn't send the file, and sends the next file successfully with no problems. Rarely do 2 files in a row get skipped, but I've seen it once...
The behavior you are seeing has to do with packet loss rather than the implementation of "mput". While running an mput command, a network error will cause files to be skipped.