Hola Lupita, yo utilizaría un ChekListBox y en vez de recorrer todos los controles del formulario, recorres directamente tu CheckListBox como si fuera un arreglo. Puedes añadir los CheckBox que quieras en su propiedad Items del ChekListBox.
Código Delphi
[-]
var
j:Integer;
begin
for j:=0 to CheckListBox1.Items.Count-1 do
begin
insert into PERM (P_CONSECUTIVO,MODULO,BOTON,checked)
values(:P_CONSECUTIVO,:MODULO,:BOTON,:checked)
ParamByName('P_CONSECUTIVO').asinteger := inc(i);
ParamByName('MODULO').asstring := menu ;
ParamByName('BOTON').asstring := CheckListBox1.Items[i];
ParamByName('checked').asinteger := ifThen(CheckListBox1.Checked[j],0,1)
end;
end;
Saluditos