en cuanto a cual es la mejor manera, no lo se... te explico lo que intentaría yo...aunque sin usar visual studio porque no lo conozco, utilizo developer express (gratuito)
yo lo que haría es montar un entorno de desarrollo en Web Developer Express. Instalaría el módulo de eventos, la versión Install,. Una vez instalado quitaría las DLL de la carpeta BIN y me traería el código fuente del módulo de eventos, la versión source, para intentar tener un dotnetnuke con el fuente de los eventos que pueda depurarse....
Una vez que tenemos el entorno para depurar y programar todo es más fácil... y creo que este es el primer paso que daría...
Una vez hechas las modificaciones sobre el código fuente, si deseas distribuir una versión compilada podrías utilizar un compilador como
http://www.west-wind.com/tools/AspNetCompiler.asp
gratuito también...