Lo que dice Caral es totalmente asertado.
Para decirlo en forma simple, los controles Data Aware son representaciones visuales o 'visualizaciones' de datos almacenados en DataSets.
Cuando se escribe algo en un DBEdit, DBComboBox, DBGrid, etc., en realidad se está escribiendolo en el DataSet asociado al control Data Aware.
Agregar el nuevo valor al Combo no es complicado:
Código:
with DBComboBox1 do
Items.Add(Table1.FieldByName(DataField).AsString);
Sin embargo el resto no es tan sencillo...
Antes de agregar el valor al Combo, tenes que verificar que no exista en la lista, sin olvidar que estas escribiendo a la vez en el DataSet...
O sea que además tenés que hacerle "lugar" en la Tabla con Append, o estarías sobreescribiendo datos.
El evento OnSetText del TField asociado te va a permitir verificar si el valor está en la lista del Combo, ya que podes interceptarlo antes de guardar el valor en el DataSet.
Saludos.