En windows vista la función My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) siempre va a dar falso, aunque el usuario pertenezca al grupo de Administradores.
Esto pasa en Vista debido a que el User Account Control (UAC) esta activado en este sistema operativo y por defaul asigna el rol de usuario estándard al ejecutar alguna aplicación.
Para solucionar este problema ejecuta le aplicación con la opción “ejecutar como administrador” del menú contextual que aparece al dar botón derecho sobre el ejecutable.