Temos um aplicativo de várias camadas com uma interface asp.net e winform que também suporta comunicação remota. Não tive problemas com o uso de qualquer ofuscador, com exceção do tipo de criptografia que gera um carregador que pode ser problemático de todas as formas inesperadas e não vale a pena na minha opinião. Na verdade, meu conselho seria mais parecido com "Evite criptografar ofuscadores do tipo carregador, como a praga". :)
Na minha experiência, qualquer ofuscador funcionará bem em qualquer aspecto do .net, incluindo asp.net e remoting, você só precisa se familiarizar com as configurações e aprender até onde pode empurrá-lo em quais áreas do seu código. E reserve um tempo para tentar fazer engenharia reversa no que você obtém e ver como ele funciona com as várias configurações.
Usamos vários aplicativos ao longo dos anos e optamos pelo ofuscador Spices da 9rays.net porque o preço é justo, ele faz o trabalho e eles têm um bom suporte, embora não precisemos mais do suporte há anos, mas para ser sincero Eu não acho que realmente importe qual ofuscador você usa, os problemas e a curva de aprendizado são todos iguais, se você quiser que ele funcione corretamente com o remoting e o asp.net.
Como outros já mencionaram, tudo o que você realmente está fazendo é o equivalente a um cadeado, mantendo pessoas honestas de fora e / ou dificultando a recompilação de um aplicativo.
O licenciamento é geralmente a área principal da maioria das pessoas e você definitivamente deve usar algum tipo de sistema de certificado assinado digitalmente para licenciamento. Sua maior perda virá do compartilhamento ocasional de licenças, se você não tiver um sistema inteligente, as pessoas que quebram o sistema de licenciamento nunca comprariam.
É realmente fácil levar isso longe demais e ter um impacto negativo em seus clientes e em seus negócios, fazer o que é simples e razoável e não se preocupar com isso.