I would expect start == goal to return just an empty path (length 0).
Could it be that you're still too slow, and that you're exceeding some time-limit they're enforcing?
What about trying to just generate a bunch of maps, and for those maps generating every single path possible (from all starts go to all ends), seeing if something fails.
EDIT: Something else to consider -- if you reverse the path, do you get the same path-length in all scenarios? If there's a mis-match, then you have a bug.