I cannot comment to answer you… That's so problematic…
Anyway i have tried to use file_get_contents and file_put_contents which is allow by my host.
<?php
/* FTP SERVEUR #1)
$contents = file_get_contents("ftp://username:pass@directory/file.xml");
/* FTP SERVEUR #2)
file_put_contents("ftp://username:pass@directory/file.xml", $contents);
?>
I execute this I don't see any file.xml coming into my #2 and i don't have any error !
I have try to do echo($contents) and it works. The problem is coming with the file_put_contents.
EDIT: This works if you set the permissions of your destination directory inside server #2 to 777.