Creo is finally beginning to inform users when they have a circular reference. It uses to be just an unnoticeable message on the bottom of the screen. Then they added a modelcheck warning, if Modelcheck was set up. in Creo 4, the notification window will show the issue clearly to the user.
HOWEVER, Creo still hasn't changed their method in EXPLAINING the user what the circular reference is. The modelcheck method is almost useless. The only real debugging method is to look in the working directory for the .crc file, open it in a text editor and try to understand the confusing wording. For such an advanced tool, this is very outdated. Not only do we need a new method, at the very least, the .crc file needs to be completely reviewed on the wording being used.
For instance, many circular references can easily be fixed by reordering features or components. Yet, the wording in the crc file for those cases uses "FEATURE A MUST FOLLOW AFTER FEATURE B". However, Feature A is already after feature B in the model. It sounds like Creo is instructing the user that A must be after B when it already is. This is very confusing even for advanced users. Better wording would be either "Feature A is after Feature B" or "Feature A is regenerating after Feature B".
In the short term, please reword some of the vague terminology in the crc file.
In the long term, please come up with a much better debugging tool that is within CREO itself.