Besides all the articles provided, do you perhaps make use of site servers (With Task Service) in multiple sites? If so, it has been said that you should only have a Site Server (With Task Service) next to the SMP itself, the agent for example, will not know that it received a task from SS1 and if the agent is restarted, it could potentially connect to SS2, therefore not completing it's task.
Hope this makes sense.