Filezilla has an option to 'use the servers external ip address instead' under the settings for PASV. Winscp doesnt have this option - therefore if the ftp server replies to the PASV command using its internal ip address the client will try to open a data channel with the servers internal IP instead of its external IP. I'm having the same problem!
This request is being tracked already. Actually it is implemented already. I'm just looking for someone to test it for me.
Can you send me an email, so I can send you back a development version of WinSCP for testing? Please include link back to this topic in your email. Also note in this topic that you have sent the email. Thanks.
You will find my address (if you log in) in my forum profile.