I'm glad, that it useful. When you call asFindasPath(start, dest)(terrible name for the function :)), founded path is stored in the asPath list, and when you next time call asFindasPath, asPath list erased, so when you want to find path for one of many entities, you should then record founded path somewhere else, in the another list for example or in the array. It would be something like this:
Code:
asList EntityPath;

asPath.itr = asPath.head;
while(asPath.itr != NULL)
{
  asPrepend(EntityPath, asPath.itr);
  asForth(asPath);
}