Running APL as an in-process server (DLL instead of EXE) certainly has both pros and cons. It's not all clear to me what all the consequences would be but I can see some advantages:
1) Improved performance when calling APL from C# as they could share the same process space.
2) Easier deployment using for example ClickOnce. APL could be distributed as registration free COM.
3) Separating the APL engine and the Session Manager would be an advantage in creating a new IDE written in .NET with the latest GUI features.
/Gert