Está muy raro...
Código PHP:
for (var i = 1; i < nTexts; i++){
oCntrl = document.getElementById("Tinta" + String(i));
if (!FValidateControl3(oCntrl,"Tinta" + String(i))) return false;
if (!FValidateControl3(form.matriz,"Matriz")) return false
if (!FValidateControl3(form.nro_cad,"N° CAD")) return false
if (!FValidateControl3(form.nro_matriz,"N° Matriz")) return false
if (sCliente == "SI"){
if (!FValidateControl3(form.tipo_pallet,"Tipo Pallet")) return false
if (!FValidateControl3(form.uni_paq,"Unidades x Paquete")) return false
if (!FValidateControl3(form.uni_pallet,"Inidades x Pallets ")) return false
if (!FValidateControl3(form.stretch_film,"Stretch Film")) return false
if (!FValidateControl3(form.pallet_completo,"Pallet Completo")) return false
} else {
if (!FValidateControl3(form.cto_sr,"Contacto")) return false
if (!FValidateControl3(form.mail,"Mail del Contacto")) return false
}
}
Tienes todo esto dentro del ciclo, pero sin embargo el único que parece ser sensible a la variación de "i" es oCntrl, es decir, solo las 2 lineas que vienen a continuación del for. De ser asi, entonces el for debería cerrar luego de esas 2 líneas.
Yo en tu lugar colocaría un alert() dentro del ciclo a ver que sucede, por ejemplo alert(i) te dirá el valor de "i" cada vez que pase por ese sitio. De ese modo podrás saber si hay o no un error de ejecución.
Saludos.