Hola, por si a alguien le interesa la solución parece que ya lo he arreglado. Era un tema de permisos del registro como sospechaba.
Me baje el programa Process Monitor, que entra dentro de la suite de las sysinternals, para monitorizar que demonios estaba pasando:
http://technet.microsoft.com/en-us/s.../bb896645.aspx
con el process monitor arrancado inicié el proyecto hasta el final y luego, filtrando y analizando lo capturado, vi que había varios errores de acceso al registro (Access Denied) cuando lo deseado era Leer/Escribir.
Una vez sabido esto fui al registro y di permisos a dichas claves.
Parece que ahora funciona, lo sabré cuando lleve un buen rato programando sin problemas : )