Ya, creo que alguna vez me pasó lo mismo. Cuando se hace un append el componente no te recupera el valor del campo Identity que debería tener el registro. En realidad esto no es problema, ya que al hacer Post el servidor asigna el valor al campo Identify al nuevo registro.
La cuestión es que "quieras ver" el valor del campo Identity que tendrá el nuevo registro justo cuando ejecutas 'Append'. Bueno, pues en este caso, si tienes mucho problema al cambiar la propiedad FieldKind, entonces podrías hacer una consulta así:
, donde Id es el campo Identity de la tabla T. Esto lo harías en el evento BeforeInsert del DataSet (sea Query, Table, o DataSet). Obviamente al tener este valor le sumas 1 y lo asignas al campo tipo Identity, así:
Código Delphi
[-]
...
Inc(NewId);
DataSet.Append;
DataSet.FieldByName('Id').AsInteger := NewId;
Espero que te haya podido colaborar.