Für Anwendungszwecke wie Malware ist das .NET-Framework in der Tat nicht wirklich gut. Es mag Zukunft haben, aber das gilt für richtige Anwendungen; momentan ist es für Malware zu früh (Verbreitung, ...).

Die Analyse ist recht einfach (Reflection, auch mit Obfuscation nicht so wirklich schwieriger teilweise), die Ausführungsgeschwindigkeit ist bei der ersten Ausführung noch nicht so prickelnd (danach liegen im System Verweise auf euer Programm, was die Analyse wieder vereinfacht).

Der Unterschied zwischen C und C++ ist eigentlich nur der, dass du in C++ noch die Möglichkeit hast, OOP (Klassen, Vererbung) und Dinge wie Templates einsetzen kannst. Ob du diese Verwenden willst, ist wiederum deine Sache. Sowohl prozedurale als auch objektorientierte Programmierung haben ihre Vorteile, im Endeffekt ist jedoch nur die "Denkweise" des Programmierers entscheidend.