El problema radica en que la propiedad State es un TDataSetState que no es un conjunto (set), sino un tipo enumerado. Los tipos solo pueden un valor a la vez, en cambio los conjutos tienen la propiedad de poder tener varios estados simultáneos.
Ejemplo:
Código Delphi
[-]
type
TTipo = (Valor1, Valor2, Valor3);
TConjunto = set of TTipo;
TConjunto2 = set of (ValConj1, ValConj2, ValConj3);
var
Tipo: TTipo;
Conjunto: TConjunto;
Conjunto2: TConjunto2;
begin
Tipo := Valor1;
Conjunto := [Valor1, Valor2];
Conjunto2 := [];
...
end;
En tu caso en particular la solución sería:
Código Delphi
[-]
if datamodule2.Table1.State <> dsInsert then
datamodule2.Table1.Refresh;
Saludos!