He estado investigando varios días y no consigo solucionar los problemas de mi último post.
Lo único que he podido descubrir es que en relación con el problema número 1, IE parece tener algún problema con la asignación mediante DOM del atributo type.
Código:
objeto.type = "password";
Pero no veo la forma de solucionarlo.