Aunque no es exactamente lo que preguntas, podrías comenzar el código de ese botón preguntando por el estado del dataset:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
if not (ADOTable1.State in dsEditModes) then
begin
end;
end;
De esta manera te aseguras de no abrir esa ventana si el dataset está en edición o inserción.
Más allá de eso, si usas un ActionList para las acciones de tus botones, puedes usar su evento OnUpdate para ese tipo de cosas:
Código Delphi
[-]
Action1.Enabled := not (ADOTAble1.State in dsEditModes);
// Saludos