If you have a valid reason for associating tables D & e and enforcing that association, then do it. There's no reason not to. You don't have a cycle or a recursive relationship set, if that's what you're thinking.
If you create the relationship between tables D & E, you'll simply have two M:N relationships, C:A and C
, with a 1:M relationship between A and D. Tables B & E are associative tables. So far I don't see a problem.
Just make sure that you define the relationships as they really exist. For instance, don't force a mandatory parent if that's not the requirement.
The data model is simply an expression of the business rules and regulations, the requirements, if you will. Yes, there's a methodology involved in creating the data model, but don't limit yourself to heresay or old DBA's tales. Design the model according to the requirements. If you need to enforce a relationship between tables D & E, then do it.