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.