Hola Sir:
 
Me resultó con replaceNode en IE... ¿ese metodo solo funciona en IE?, supongo que me resta encontrar la forma para Opera. 
Mira asi quedo con replacenode:  
 Código HTML:
 <html>
<head>
<script>
function password(){
   var oOldNode = document.getElementById('clave');
   var oNewNode = createNode(oOldNode);
   oOldNode.replaceNode(oNewNode);
}
function createNode(oOldNode){
    node = document.createElement('INPUT');
    node.value = oOldNode.value;
    node.setAttribute('type', 'password');
    return node;
}
</script>
</head>
<body>
<input type="text" name="clave" id="clave">
<input type="button" value="cambiar" onclick="password()">
</body>
</html>