Vielleicht ist es auch so wie Baldur sagte, dass du Strings in ein Integer-Feld zu speichern versuchst?

Code:
// query zusammenbasten
aDataSet.CommandText :=  'select WAAUMG from rhdbd_16.WAKO'
      +' where WAFIRM='+quotedStr(firm) <--- Wirklich Text??
      +' and WAWKNR='+quotedStr(edtWerkNummer.Text) <--- Wirklich Text??
      +' and WAAUNR='+quotedStr(edtAuftragsNummer.Text) <--- Wirklich Text??
      +' and WAAUPO='+quotedStr(edtIndex.Text);
Ansonsten würde ich den Update-String testhalber Hard-Coded hinterlegen. Wenn es dann funktioniert liegt der Fehler beim zusammenstellen des Strings.
Oder du versuchst den String, der nach dem Zusammenbasteln erzeugt wurde 1:1 im STRSQL auszuführen.
Dort sollte zumindest die gleiche Fehlermeldung kommen, und mit F1 erhälst du dann auch mehr Informationen.