Господа!
Вы забыли про такой 2-х байтовый Integer как SmallInt

Тогда вся задача решается следующим образом:
Код:
var
D1,D2,D3:SmallInt;
begin
D1:=32767;
D2:=0;
D3:=D1+D2;
if D3<0 then
begin
ShowMessage('Overflow');
Exit;
end;
ShowMessage(IntToStr(D3));
end;