In one case, I observed an edge coming to rest just across an unconnected (to that edge) node. Might be hard to detect/work around ...
[Many moons ago, for an exercise, implemented a force-directed placement, with team-mates doing Kernighan-Lin min-cut (also fast) and simulated annealing (slow) ...]
P.S. Two observations:
- You highlight the node on mouse over. If the edges connected directly to that node were also highlighted, it would palliate the false connection problem.
- Adding some edge-edge repulsion ? Sometimes edges cross, and one of them could be flipped to another side for a locally planar solution.