A few points:
* When successfully connecting with the GUI, I have to accept the key being offered by the target sftp site (I just click OK). I'm not sure if my code does this...I haven't coded anything along those lines except for the "option confirm on" in my VB code.
* When running the VB.Net code there's no errors when the winscp object starts, connects or uses the PUT command.
* The log file (log.xml) is created by the VB code , however it only has the basic pre-connection header in it after the whole process finishes.
* The winscp.exitcode always resolves to something other than 0 (an error) but .NET never raises an error.
Note: When successfully connected using the GUI, SFTP-3 is shown as the protocol being used.