To follow up, Ardour explicitly builds a DAG and uses a topo sort.
The change was never made to Jack1 because of a lack of time (even
time to just verify that it had the same issue, even though that
seemed likely).
I also want to make it clear that my previous reference to Torben
wasn't intended to blame him for the design: he had taken the design
in Jack and applied it to the isomorphous problem inside Ardour,
without any of us realizing at that time that it was probably
inadequate/wrong.