Para ese tipo de aplicaciones es mejor no usar .Net ni Java ni nada que sea Managed, porque en donde lo vayas a instalar vas a necesitar el .Net Framework instalado o el JVM en dado caso.
Hola!.
Yo estoy en desacuerdo con la opinión citada arriba. Virtualmente todas las maquinas ya tienen .net framework instalado. y mejor aun... En vista y Windows 7 viene de fabrica.
Aunque, con Java si tienes razon.
Lo que si le recomendaría al amigo que quiere hacer su troyano en vb.net, es que en las opciones de configuración, compile su troyano de cara al framework 2.0, y no al 3.5 o al 4, que si bien son mas modernos, no todas las maquinas lo soportan.
Para trabajar con apis siempre puedes usar p/invoke... y al hacer tu troyano con .net tienes toda la biblioteca de clases a tu disposicion, y tambien un lenguaje comodo, moderno y de alto nivel.
Yo personalmente cuando tenga algo mas de tiempo voy a envarcarme en un proyecto similar, pero mucho mas complejo y en C#.