Joy:
I'm not sure that this is a developer question, however VBA macros can help
you trace predecessor/successor relationships. Are you talking about
circular relationships within a single project, or across linked projects?
There are better ways to avoid these than are ways to detect and cure them.
Some simple rules:
Build a well structured plan that flows from top to bottom (avoid spaghetti
linking)
Do not link from or to summary tasks (Probably the biggest culprit in
creating circular relationship within plans)