Si son 12 Checkboxes, necesitarás 12 variables; que mejor que usar un array y la propiedad Tag de cada Checkbox.
A cada Checkbox en su propiedad Tag le pones un número correlativo, desde 1 hasta 12:
Código Delphi
[-]
var estados : array [1..12] of Boolean;
procedure TfrmGDatos.CheckBox1Click(Sender: TObject);
begin
estados[TCheckbox(sender).Tag] := TCheckbox(Sender).checked;
end;
El moldeo es necesario, porque en delphi tenemos un evento TNotifyEvent que es estándar para muchos controles, por ejemplo el evento OnClick, que podríamos asignar el mismo procedimiento para un TCheckbox, Tbutton, TEdit, etc.
Nosotros somos los que asignamos el evento en el inspector de objetos, por tanto, somos los responsables de decirle a Delphi con el moldeo de tipos qué control generó el evento en cuestión.
El caso más general:
Código Delphi
[-]
procedure TfrmGDatos.CheckBox1Click(Sender: TObject);
begin
if (Sender is TCheckBox) then
begin
with TCheckBox(Sender) do
end
else if (Sender is TButton) then
With TButton(Sender) do
end;
Saludos