I would agree that this is a firewall issue. I run passive ProFTP like such:
PassivePorts 30000 30050
So I have 50 ports open from 30000 - 30050 to allow for 50 simaltaneous ftp connections (subsitituting your IP of course for w.x.y.z). On my firewall, I just open up ports 30000 - 30050 going to that server.
iptables -A INPUT -d w.x.y.z -p tcp --dport 30000:30050 -j ACCEPT
Or on a personal firewall device... just do the usual port forwarding thang forwarding ports 30000-30050 to the internal IP AS WELL AS the standard ports 20/21 for ftp.
Then, once you connect you must initiate passive ftp unless the client automatically does:
Passive mode on
Let me know if that helps, or if you have questions...