Hmmm sources, i guess it could just calculate a path without the source position as the last step. So if your creep is right next to the source you get an empty path, if it is 2 fields away it gets a path with one step.. and so on..
The main problem i have right now is that when i try to move a creep to an adjacent field with an obstacle on it, moveTo() returns OK but the creep doesn't actually move. So i'm having a hard time finding out if a creeps path is blocked by another (idle) creep. And that is happening because moveTo just checks if the path is not empty.