En teoría si y no, si la persona es suficientemente experimentada no tendrá problemas en saltarse la protección pero en la mayoría de los casos al menos 90% de los usuarios finales no son programadores o crackers y no les llamará la atención hacerle ingeniería inversa a tu programa.
Una cosa que puedes hacer es buscarte un programa más potente para obfuscar aunque siempre será posible ver el código fuente a veces hay obfuscadores que la ponen tan díficil que da hasta fastidio intentar sacar el source. La mayor protección no es obfuscar sino el nivel de trabajo que se necesita para poder ver el source, al final somos humanos y si es mucho trabajo lo dejamos aun lado
Te recomiendo usar los siguientes programa en orden
NSPack para .Net 3.4 (Un Packer)
{SmartAssembly} 4.0
Lo puedes conseguir crackeado, busca en google, sino pasame un pmLuego te recomiendo abrir el ejecutable con un editor hexadecimal como HxD y buscar cualquier string que diga {SmartAssembly} o cualquier cosa que de referencia a {SmartAssembly} y parchearlo con 00. {SmartAssembly} es de los mismo creadores que .Net Reflector si tienes la útlima version de {SmartAssembly}
que cuesta casi que la vida será casi imposible sino imposible obtener el source de un programa protegido con {SA} por la simple razón de que .Net Reflector la última versión viene indispuesto para no poder leer los ejecutables procesados por {SA} útlima version,
que casualida no?, y si .Net Reflector no lo lee que es el decompiler más conocido y potente que quedará para los demás?
Hay un truco más que descubri, que hace que todos los decompilers de .Net fallen abriendo o leyendo el archivo. Hasta la fecha aún no existe decompilers que no de el error. Te lo explico por PM para no hacerlo público
Hable mucho