Boa parte dos ambientes que precisam de algum tipo de segurança rodam no esquema cliente servidor, portanto isso seria de pouca serventia.
Além disso, em sistemas complexos estes descompiladores não chegam a um código 100% perfeito.
Fora que dá pra usar o Proguard, pra otimizar e obfuscar o código, e nesse caso o código descompilado estaria bastante bagunçado. Boa parte dos jogos pra JavaME usam ele.
E, em sistemas muito grandes, o desenvolvedor precisa ser muito bom pra pegar um código com milhares de classes e sair “lendo” do nada até entender o que acontecesse apenas baseado em leituras do código.
E por útimo: mesmo binários (.exe, .bin, etc) podem ser descompilados (claro que não pra uma linguagem alto nível), ou lidos e hackeados facilmente (com editores hexa decimais).