Ругается т.к. в Edit попадает значение которе нельзя преобразовать, использкуй TryStrToInt. Округлить можно умножением на 10^n и отбрасыванием остального, либо подключить модуль Math и использлвать RoundTo.
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
i,j: integer;
begin
if TryStrToInt(Edit1.Text, i) and TryStrToInt(Edit2.Text, j)
then Label1.Caption:=Floattostr(trunc((i+j)/2*100)/100)
else Label1.Caption:='error';
end;
хотя при делении на 2 достаточно одного знака после запятой...