The selectionName that lineIntersectsSurfaces returns is incorrect, and inconsistent with the one returned by intersect command.
That's because the returned name is the topmost parent of the bone.
Edit: After more tests it seems that it only happens in some cases. I'm not sure exactly when.