Resubmission: Insert on Live datasets with SQL Server - Help

When I insert a record in a live dataset using a TQuery and SQL Server
the record is not added to the open result set.

In other words I am doing something like:-

with Query do
begin
        SQL.Add('SELECT * FROM Table1);
        RequestLive := True;
        Open;
        Insert;
        FieldValues['Field1'] := ...
        FieldValues['Field2'] := ...
        Post;   // RecordCount is unchanged
end;

Now if I use CachedUpdates I do not get this problem.
Also it does not occur with local databases such as Paradox or Access.

Has anyone else encountered this problem and is it generally true for
remote SQL databases? If so is there a fix for it short of rereading
the data after every post>

Note that this affects the display of data in a DBGrid, which we found
was not usable unless we applied a Refresh after Post or used
CachedUpdates.