Qué curioso el asunto este 
 
 
Tu código es correcto pero IE parece que pierde agua por ahí. 
No sé si esto es aplicable a IE posterior a la versión 6 (tal vez para la 7 esto esté corregido) 
Parece ser que los campos creados dinámicamente en IE no pueden establecer un atributo name. Este atributo es necesario para que se active/desactive un campo de tipo radio. 
En la web de microsoft propone al respecto el crear el campo usando createElement de la siguiente forma 
Código:
  var elemento=document.createElement('<input type="radio" name="pepe">')
  Funciona bien en IE y selecciona correctamente los campos al hacer click. Pero en otros navegadores (al menos en FF) deja de funcionar. 
Podrías comprobar el navegador y crear el elemento de una u otra forma dependiendo de si es IE o no. 
Otra cosa que podrías hacer (tal vez lo más simple) sería asignarle el comportamiento con javascript al crear el elemento  
Código:
 elemento.onclick=function(){document.getElementById('valorRadio').value=this.value; 
		this.checked =true
		};
  Un saludo 
