Use Microsoft Clustering for adapters that required a single host instance running at a time like FTP or POP3 to avoid duplicate messages while providing high availability. Failure to implement this will result in either having to deal with duplicate messages or implementing manual processes for performing failover.
Due to the nature of some protocols it is impossible to guarantee high availability, scalability and failover. In this cases we normally see customers disabling one of the host instances to prevent duplicate messages. This only provides manual failover and what should be done is to cluster the hosts where this adapters run, Windows Clustering will guarantee that at least on host instance is running and that no more than one is working.