@Anthony, For some reason I can't wrote about the last comment on the issue on github, after the one I made.
I am aware of the disucssion you talk about. Understand the issue, at least the issue of not having proper constraint define in the backend. My understand was that it would bring the DAL at complete other level as something between a DAL and an ORM if we start to differ model definition as circular reference would require...
At least I think we can properly explain workaround to the actual situation, something like : If you want to use circular reference be notice that DAL don't support proper model definition for xyz technical considation, so you have to make sure you create the fk contraint in the back end of trick the DAL by defining once your circular model without referenciation and add them later once both model have been created in the database, so web2py should be able to alter model table and add proper fk constraint...
Hope I am right thing such a workaround would work as I didn't tested it before posting it here.