Hola
 
Has de hacer algunos pequeños cambios a la función. Obtienes el nombre del campo, para aislar los campos que tengan ese nombre.  
 Cita:  function funcion(bol, frm, chkbox) { 
for (var i=0;i < frm.elements[chkbox].length;i++) { // Dentro de todos los elementos, seleccionamos lo que tengan el mismo nombre que el seleccionado
elemento = frm.elements[chkbox][i]; // Ahora es bidimensional
elemento.checked = (bol) ? true : false;
} 
}
    Ahora la llamada a la función quedaría así 
 Cita:  funcion(this.checked, this.form, this.name)
    Suerte