i've seen something like this before, and it was solved by using a ftp client in PASV mode/
might that be an option?