I am not sure if RegisterRibbbonX works for out-of-process scenario like yours
What kind of object does newMyApp.Library.DiagramRibbon() return?
It should implement idispatch and iribbonextensibility interfaces at least, as far as I understand?
In c# terms, should be marked as ComVisible(true) and implement the method the Interface to return the ribbon xml
Probably it should be doable though. Ad far as I remember Visio event monitor (from SDK) is a stand-alone app (exe) and has a ribbon. If I remember correctly of course:)