Hola.
El mejor evento parece el BeforeInsert de tu Dataset. Compruebas el nº de registros que ya tienes, y si supera el máximo entonces cancelas la inserción mediante un Abort.
Seria algo así :
Código:
procedure MiDataset.AfterInsert(Dataset: TDataset);
begin
if (MiDataset.RecordCount >= StrToInt(txtMaximo.Text)) then begin
ShowMessage('Mozo que te has pasado, solo pueden haber ' + txtMaximo.Text + ' miembros');
Abort;
end;
end;
Saludos.