Don't you use custom moving functions? I used some recurrent calls inside my wrapper around moveTo, smth like:
Creep.prototype.moveTo2(...) { /* some calculations */ if(/* all is ok */) { /* move by own path */ } else reset(), this.moveTo2(...); // retry}
Sometimes it caused call stack limit overflow due to some conditions (because of borders, cpu limit tick skipping etc.).