Como veo que estás usando el método 
getElementsByName, el cual ―según 
esta fuente― no tiene soporte completo y correcto en versiones anteriores a IE10, te recomiendo utilizar el método 
querySelector, el cual tiene soporte desde IE8. Con dicho método, reducirías todo a una sola línea:    
Código Javascript
:
Ver original- var varFormaPago = document.querySelector("[name=MedioPago]:checked").value; 
De esta forma, tomo al elemento cuyo nombre sea igual a 'MedioPago' y, utilizando el pseudo-atributo 
:checked (que tiene soporte desde IE9), filtro al elemento que se encuentre marcado, reduciendo ―en este caso― el número de elementos seleccionados a uno (la opción marcada). Luego, solo me queda tomar su valor.  
 
Y si quieres que también funcione en IE8 y versiones anteriores, podrías tomar a todos los elementos de nombre 'MedioPago' con el método 
querySelectorAll, lo iteras con ayuda de un bucle (While, For, Do-While) y, en cada iteración, compruebas que el elemento actual en la iteración esté marcado (propiedad 
checked); de estarlo, obtienes su valor, lo asignas a la variable y sales del bucle.    
Código Javascript
:
Ver original- var opciones = document.querySelectorAll("[name=MedioPago]"), 
-     total = opciones.length, 
-     varFormaPago = null; 
-   
- for (var i = 0; i < total; i++){ 
-     if (opciones[i].checked){ 
-         varFormaPago = opciones[i].value; 
-         break; 
-     } 
- } 
Saludos