when you run your FTP server in passive mode, the server needs to send the client a response with the external IP address i think. If the FTP server sends the internal IP as the response then things wont work. this is usually configurable on the server. if you can't figure it out with IIS, then I dont blame you. Try using FileZilla FTP Server because its easier to understand I think and that configuration parameter is easy to find.
Setting up FTP servers can be a royal pain. I have setup several FTP server, both NAS boxes. One worked with out a hitch, the other was browser sensitive. I had one that only worked with IE passing the user & pw on the address bar. The problem accours when there are firewalls on both ends.
Here is a link that will help explain how the hand shaking works.
The cost of running your own FTP server is very high: you need an always-on FTP server computer, then you need to install FTP server software. For this to be reliable, you need to take care of the security, which means you need to configure access permissions carefully and install OS patches periodically. Moreover, you need to backup the server and make sure you have redundant hardware. Then you need to have a good and reliable Internet connection.
The cost can be thousands of dollars, not including your time and efforts!
Now it can be much easier, and you can save a lot of cost on server hardware, software and bandwidth. DriveHQ.com is the first Cloud IT Solution provider, it is also one of the largest FTP hosting service providers. Our FTP server is more secure and reliable than your own FTP server, and we have virtually unlimited network bandwidth. The cost is dramatically lower, and with our web-based user administration tool, you don't need IT background to use our service. Our basic service is free, and premium service starts at only $1.99/month.