I have never seen an application icon use the /p switch for "<<Unnamed Profile>>" which is (as I understand it) a backup of the default profile. However, it does show up in the list of available profiles. I have only ever seen named profiles being used with the /p switch. Perhaps there is a behavioral difference... I am really unsure.

I am no expert at .NET, nor ObjectARX development, but I do not understand how one would go about firing an Event Monitor's callback prior to AutoCAD being initialized, and/or your Assembly (and subsequent methods, properties, fields, etc.) being instantiated. This seems counter intuitive to me, as this entirely (if even possible) bypasses the built-in system(s) for handling this behavior (i.e., the /p switch for example).

I can only imagine the amount of (perhaps non-billable) time you've spent/wasted on this, all as a result of your client not understanding that using the /p switch is a simple, and best practice for safeguarding their own production needs, never mind that of the software they're paying to add-on.

Separately, and also worthy of consideration, more on the startup sequence:

Quote Originally Posted by RenderMan

Consider the load order at startup:
linky

A. CUI files loaded:
1. Enterprise
2. Main
3. Partials to Main
4. Partials to Enterprise

B. acad*.* files loaded:
1. Files listed in acad.rx
2. acad2009.lsp
3. acad.lsp
4. acad2009doc.lsp
5. acaddoc.lsp
6. acad.dvb

C. CUI-associated MNL and LSP files loaded:
1. Enterprise named MNL
2. Enterprise loaded LSP and MNL
3. Main named MNL
4. Main loaded LSP and MNL
5. Partials to Main named MNLs
6. Partials to Main loaded LSPs and MNLs
7. Partials to Enterprise named MNLs
8. Partials to Enterprise loaded LSPs and MNLs

D. Startup suite files loaded

E. Startup routines run:
1. AcadStartup() called (AutoCAD startup)
2. AcadDocument_Activate() called (Drawing startup)
3. (S::STARTUP) called
4. SCR loaded from /b switch
... Perhaps this will benefit you at some point. Good luck!