DirectedGraphLayout is a series of graph visitors that modify the graph
and at the end produce the laid out graph. One of the steps is
specifically to address cycle removal. It's been used for years and it's
patented - it always worked.
The problem is probably elsewhere. However, if you see that the problem is
with that cycle removal graph visitor please create an example of the
graph (i.e. patch for draw2d.examples plugin), raise a defect and attach
the example, so the problem can be reproduced.