Gli assemblies (i file dll per capirci) di .NET non devono proprio essere registrati, basta copiarli nella dir /bin del tuo sito. Il codice è compilato in un codice intermedio, MSIL, non in codice macchina però, e c'è già un decompilatore che riesce a trasfromare tutto il codice MSIL di un assembly in codice C#, annullando la protezione di una dll compilata. Di solito non è un gran problema perchè la dll sta sul server, ma se devi *necessariamente* proteggere la tua business logic anche dal gestore del server, e da chiunque ha accesso ai file sul server, allora la soluzione più efficace è di continuare ad usare le ActiveX DLL o cmq i componenti COM sviluppati con VB/ATL/C++ ecc., dato che possono essere usati anche in .NET (dopo aver creato un apposito wrapper). Ci dovrebbero ora o in futuro essere degli "obfuscator", che rendano più difficile rendere decompilabile un assembly, ma finora mi sa di no...o almeno io non ne ho provati...