После TableТовар.Insert у тебя TableТоварArticul.Value равен значению по умолчанию (скорее всего nil).
правильно будет так:
begin
// не помню точно ни названия функции, ни синтаксиса, но идея - в поиске по ключу
if TableТовар.FindByKey(TableПНТArticul.Value) then begin
TableТовар.Edit;
TableТоварKolvo.Value := TableТоварKolvo.Value + TableПНТKolvo.Value;
end else begin
TableТовар.Insert;
TableТоварArticul.Value:=TableПНТArticul.Value;
TableТоварName.Value:=TableПНТNameTov.Value;
TableТоварCena.Value:=TableПНТCena.Value;
TableТоварKolvo.Value:=TableПНТKolvo.Value;
end;
TableТовар.Post;
end;