One thing I have noticed is that when I manually add a message to an association between two classes on a Communication Diagram that EA actually adds a relationship of type Collaboration to the two classes. In code I can actually see this collaboration relationship but I can seem to make it appear on a new diagram. I have tried adding it as a diagramLink using the following code, but it does not appear
DiagramLink diagramLink = diagram.GetDiagramLinks().AddNew("link", "otDiagramLink");
diagramLink.SetConnectorID(connector.GetConnectorID());
diagramLink.SetDiagramID(diagram.GetDiagramID());
diagramLink.SetIsHidden(false);
diagramLink.Update();
diagram.Update();Is there something I am missing? Funny enough if I delete the diagram where the collaboration was set up then the relationship disappears from the two class elements. This means that the diagram is controlling the relationship, which seems a bit wierd.
Any help would be much appreciated.

Note that associations show with no problem (automatically), but collaborations don't. I think this makes sense as you might not want to show all collaborations, but the option to show some would be nice