Yo creo que sería mejor hacerlo directamente en la fuente de datos que en el control visual.
En el TClientDataset, Query, Table,... utilizar el evento BeforeInsert (por ejemplo):
Código Delphi
[-]procedure TForm4.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
Abort;
end;