Even though Microsoft added M:N (Many to Many) relationship support to their CRM product, there are still a lot of issues with it. Some of the things that you need to keep in mind:
1) If you let MS Dynamics create the intersection table between the two custom entities which are in an M:N relationship, then there is no way for you to add any other attributes to that intersection table. This intersection table will have the GUID columns from the two parent tables and an additional GUID column for the intersection table itself.
2) The intersection table created by MS Dynamics does not support workflow. What this means is that one cannot fire off workflows when a record gets created that ties up those entities.
So, how can you get around those limitations? Well, a M:N relationship between two entities gets resolved by creating an intersection table. Rather than letting MS Dynamics create it for, you should create a table yourself and then define two N:1 relationships with the parent tables. That way, you can by pass both the issues that are mentioned above.

