Your initialize method should look like this:
public eLoadStatus initialize(IPluginHost host)
OMPanel p = new OMPanel("main");
OMPanel s = new OMPanel("sub");
... Add controls ...
Your loadPanel method should look like this:
public OMPanel loadPanel(string name, int screen)
if (manager == null)
// Load default panel
if (name == "")
return manager[screen, "main"];
// Return requested panel
return manager[screen, name];
The reason why a panel named "main" doesn't load is because the framework doesn't know which panel to load by default (hence no name passed along) so you have to catch this request and return the panel you want to load as default.