Can you give us more details? Are any of the following called when you open the Preview window?If so, is your code throwing an exception?
- Your element's constructor
- Your IElement.Activate implementation
- Your IElement.Draw implementation
I see. Can you zip up the .dll and send it to me? Can you also give me a quick tutorial on how I might see the element draw in ArcMap? I'll see why it refuses to draw.
Yes, the .msd (an optimized map document format) does not draw elements (or anything else, including layers) the same way an .mxd does. It's an optimized format that stores objects (maps, layers, symbols) completely differently from the .mxd. The optimized anno layer is silently skipping your elements when it draws in the Preview window. It loads fine, but since it's not an Esri element, we can't convert it to the new format. Nor do we expose some means by which you could do that conversion yourself. And there isn't any way to publish a non-optimized map service to a 10.1 server; we only support the optimized format.
I would write some conversion code to convert your custom element to a group element containing standard text elements (and whatever else you need to draw). If you can draw your anno as a group element in ArcMap, it will draw in a map service.