You may notice the following "errors" in the FTP2’s SessionLog after calling PutTree.
550 /test123/abc123: Cannot create a file when that file already exists.
These are normal and intentional. When building the directory tree on the FTP server, it is more efficient for the FTP2 client to simply issue MKD commands to ensure a directory is created if it does not already exists. The error is ignored (and harmless). This is more efficient than checking to see if the directory already exists, and then potentially sending a MKD command, which would be 2 command/response round trips to the FTP server.