По моему прежде чем сохранять надо сначала указать что быдет осуществлено добавление новой записи, или обновление существующей. Т.е. DataModule.ADOQuery.Append или DataModule.ADOQuery.Edit
В последнем случае надо ещё и переместить указатель на ту запись которую модифицируем. ммм...не помню как...
С добавлением по моему тоже есть какие то хитрости, типа либо сначала добавляем пустую запись а потом её модифицируем, либо добавляем запись сразу с данными.
Могу ошибаться, т.к. сам использую чисто SQL запросы.

Работают быстро и понятно.