Speaking generally, in passive mode your computer initiates both connections required by FTP session, it has then more control on choosing ports.
Most of FTP clients have this option -- active or passive connection. When programming FTP data exchange with WinINet API library you have this option as well.
Check this link and other links on that page:
http://www.news2news.com/vfp/?article=3#p136There was very similar question recently on UT. And the switching to passive mode helped.