Hola RedVenom.
En principio creo que el lugar adecuado para evaluar es el evento BeforeInsert del DataSet.
Por ejemplo:
Código Delphi
[-]
...
function TForm1.CiclistasFull(ADataSet: TDataSet; Tope: Integer): Boolean;
begin
Result:= ADataSet.RecordCount >= Tope;
end;
procedure TForm1.DataSet1BeforeInsert(DataSet: TDataSet);
begin
if CiclistasFull(DataSet, 3) then begin
ShowMessage('Error: Pista demasiado angosta para tanta bicicleta...');
Abort;
end;
end;
...
Un saludo.