Q:

Problema bucle JavaScript

Tengo un bucle el cual dependiendo del checkbox que seleccione me devuelve un alert y habilita un input, la cosa es, que si yo el nombre del checkboxProducto lo concateno con la variable i no me funciona, en cambio si lo concateno con la variable f que sería el número exacto de id del checkbox, sí que funciona.
Lo que no entiendo es, cómo teniendo puesto que realicé 5 iteraciones, no entre en el input 3 mediante la variable i y pero sí con la variable f.

function checkBox() {
  for(var i=0; i<5; i++)  {
    f=38;
    var CheckBox = document.getElementById("myCheckboxProducto"+i);
    if (checkbox.checked == true){
      alert(i);
      document.getElementById('inputBoxProducto38').disabled=false;
    }
  }
}
<input type="checkbox" id="myCheckboxProducto1" onclick="checkBox()" checked="false" />
<input type="checkbox" id="myCheckboxProducto2" onclick="checkBox()" checked="false" />
<input type="checkbox" id="myCheckboxProducto3" onclick="checkBox()" checked="false" />
<input type="checkbox" id="myCheckboxProducto4" onclick="checkBox()" checked="false" />
<input type="checkbox" id="myCheckboxProducto5" onclick="checkBox()" checked="false" />
<input id="inputBoxProducto3" />

A:

Ocurre porque Javascript se deja de ejecutar en cuanto se produce un error, dado que no existen dichos checkbox al intentar validar te arroja un error, puedes constatarlo en la consola.
if (checkBox.checked == true){  // error seguro si no existe

Debes validar primero que exista antes de acceder a cualquier atributo, prueba con alguna de estas opciones.
if (checkBox && checkBox.checked == true){ // <- esta es la forma recomendada

if (checkBox !== undefined && checkBox.checked == true){

if (typeof checkBox !== 'undefined' && checkBox.checked == true){

Generalmente funciona con la primera, pero no esta de mas mencionar otras alternativas.
Igual considera usar ===  en lugar de ==
El clásico ejemplo del porque no usar ==:

// USAR var SOLO POR COMPATIBILIDAD CON NAVEGADORES ANTIGUOS Y/O IE - EDGE
var num = 0;
var str = "0";

console.log(num == str); // true
console.log(num === str); // false

