Google thinks of a canonical in a similar way to a redirect. If you say that one page is canonical of another and then point back with another canonical, it greatly confuses Googlebot. To the point where I've seen people saying that it shows up as a crawl error in webmaster tools.
You should choose one of your domains to be the "canonical" domain and point everything to the canonical domain. Google says that its OK to point a canonical tag on a page to that page itself.