Have you already checked whether the start node and the destination node are valid?

The following line should output their numbers:
printf("start_node: %i | dest_node: %i", (int)start_node, (int)dest_node);

If either of the numbers is equal to zero, the respective node has not been found.

At the moment the pathfinding functions (ll_pfind_getPathTo...) don't check whether the nodes passed as parameters are valid. If both nodes are equal to zero (invalid) the function mistakenly assumes that a path has been found (because current node == destination node). I will fix that, so no list is returned in this case.