I recently went through this and found that I had a "Reset Task Server" task running at the same time we managed to schedule other tasks. That task will cut the legs out of running tasks and apparently the agent didn't like that.
Moving that "Reset Task Server" task to a different, completely unique time seems to have eliminated the problem for me.