for item movement scripts, have them pick things up until full, then deposit until empty. for things with tools, have them go until empty then go do whatever they do to get another tool. i just make mine make their own tools.
Seems to me this is probably a bug. I had similar problems, so I just made them create the tools for themselves (mind you, it's complicated) and the bug went away.