Un'applicazione .NET ha maggiori probabilità di essere protetta poiché un grande sforzo va nella sicurezza di esso e ci sono molte opzioni.
VBA d'altra parte è progettato solo per fornire un certo livello di automazione a Office, utilizzabile dagli utenti esperti più degli sviluppatori. Non viene aggiornato molto e presenta un modello di sicurezza piuttosto debole.
Detto questo, non sono sicuro di quanta differenza vedresti nel mondo reale. I principali problemi con VBA, almeno negli ambienti di tipo enterprise, sono che il modello di sicurezza è così non attendibile, può essere difficile ottenere che i reparti IT consentano l'esecuzione di VBA.
Quindi è davvero l'ambiente in cui è necessario eseguirlo. Non è necessario solo pensare alla sicurezza, ma anche a come verrà consegnato ai computer client, a come verrà mantenuto, a quali restrizioni sarà operativo il PC client, a quante diverse configurazioni è necessario supportare e a quei tipi di problemi . Non ha senso avere qualcosa di sicuro che possa essere mantenuto negli ambienti degli utenti finali.
Nota in particolare il problema nel tuo secondo link relativo alla mancata aggiunta di un riferimento. Ricorda che questo deve accadere su ogni PC e che i riferimenti possono cambiare con modifiche e aggiornamenti sul PC. Questo rende le applicazioni di supporto VBA piene di problemi.