Another user changed the record error - Newbie

A really basic question here, because this is my first Delphi app. and
I'm pretty new at this.

I'm using SQLServer, and I'm having trouble doing even simple tasks like
updating data using a simple grid component. If I edit a field and post
the change, but don't move off the column on the grid, then make another
edit, when I do the second post, I get the BDE error 'Couldn't perform
the edit because another user changed the record'.

If I change the table properties so that Cached updates is set to True,
then the error disappears. Brilliant! except that the changed data is
never written away to the database either.

Using another simple app. written in Visual Basic to access the same
data, I don't get the error at all, and the posts work fine.

Can anybody help me please because I'm really stuck. I don't know if it
is something I need to change in my Delphi code, or the settings on the
SQLServer, or in the BDE etc etc.

Thanks heaps.
Liz Roan