Good and a possable fix
First I would like to say that it is a fun puzzle concept. The problem though lies in your connectedness algorithm, which in level 9 is unable to detect solutions.
There are ways to make a checker independent of the full map matching an answer key. An example would be to count each path segment as a separate path (the L tile fore example is made up of 2). If you keep a reference as to how many path segments there are and for each segment a color, R (used) or B(unused). You could have the checker start a pointer at a random path and all pats set to B. Now every time a pointer goes over a segment, it switches its color to R and adds one to a check counter. Every time it encounters a fork, it starts a new pointer and pointers end when they encounter a R path. If the counter's value is equal to the total number of paths, then it is a solution to the cube. This should be a viable solution and if it is not, a slight modification to it should fix it. Good luck