An ftp server normally does not block files. This means, that there is no way of knowing if a file that you want to download is being written to at the same moment.
A common way around this, is to rename a file before transferring it, and renaming it back locally after transfer.
VisualCron could automate this:
Task type "Safe download", which:
- renames the requested file (e.g. put an exclamation mark at the end)
- download it
- delete it remotely
- rename locally (remove the exclamation mark at the end)