Yes, the Ftp.PutFile method returns "number of bytes transferred" which actually means size of the uploaded file.
The UseLargeBuffers option enforces FTP component to transfer data in bigger blocks. Switching this option on could speed up transfers in many situations, especially when working with larger files. On the other hand, large buffer size might cause problems at the client on very slow networks (like GPRS) where it takes a lot of time to send a block this large.
Please mind that the UseLargeBuffers option should be set BEFORE calling the Connect method.
The MaxDownloadSpeed and MaxUploadSpeed properties are used to limit the speed. So we recommend to keep them on their default value (zero = unlimited). All other values could slow down your transfers.
For more information about optimizing transfer performance see the separate article.