But what I have found so far on Lion and Snow Leopard is that our audio plugins need to be code-signed (mandatory for Lion), but that there is nothing standing in the way of fork / exec loading of additional components nor of dynamic libraries which are not signed.
We have adopted the protocol of building skeleton AU Plugins in C++, then code signing these. Our binary obfuscation tools from Arxan Corp. modify the structure of compiled C++ signal processing core dynlibs to the extent that they cannot be code signed by Apple's tools. And neither can our compiled Lisp crypto/loader modules.
I"m no whiz on Apple's programming extensions in Cocoa, but I'm an old Unix person. And while some other fancy method might exist for a 32-bit Cocoa C program to load and execute a 64-bit compiled binary, I just fell back to using what I knew, which was fork / exec. That works just fine under Lion, once the code-signed skeleton code has been loaded by OS X.
Our rather convoluted (intentionally) loading procedure has:
Cocoa skeleton AU Plugin (32 bit / code-signed) --> obfuscated C launcher lib (32-bit, does fork / exec) --> compiled 64-bit LW crypto and loader --> obfuscated 32-bit C signal processing library.