Может проблема в том, что надо явно задать имя для подзапроса?
Код:
ClientDataSet.CommandText:='UPDATE [Таблица1] SET [Количество]='+
'(SELECT SUM([Количество]) FROM [Таблица2] WHERE [Идентификатор]=:Id) as Tmp1,'+
'[Сумма]=(SELECT SUM([Сумма]) FROM [Таблица2] WHERE [Идентификатор]=:Id) as Tmp2'+
'WHERE [Идентификатор]=:Id';