Stumbled on an issue today designing some FTP management SSIS packages for a client. The job needed to tidy up after itself and delete any files from the FTP server that it had successfully retrieved and validated. Unfortunately, once a backlog of files started building up, the package was trying to delete files on the FTP server that didn't exist and the whole package stopped dead even though this wasn't a critical error.
I tried the various Force Success methods available through the normal Control Flow options but none worked, the package always stopped and wouldn't handle the problem.
So after visiting this link the solution was simple if a little strange. To summarise, you need an event handler on the FTP step and set the ForceExecutionResult value to Success. All works nicely now and as I'm not interested in the errors anyway it handles them beautifully.