Graceful append of new records in DBCtrlGrid

Hi, here's my situation!

I have a data entry app that appends records to a primary data set via a
DBCtrlGrid..
I have queried for a non-live result data set that I know to be empty so
that I can
        use it as a work table to enter the new records.
I have programmed the Enter (#13) key to simulate tab as the user
        enters the data fields.

My Problem:

As I progress thru the grid,  the follwing code is executed:

procedure TForm3.DBCtrlGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);

begin
  if Key = VK_RETURN then
  begin
    if TControl(Sender).Name = 'DBEdit5' then
      begin
      PaysAddBrs.Append;
      LineCombo.SetFocus;    (This sets focus to dbedit field #1 on the next
line)
      end
    else
      Key := VK_TAB;
  end;
end;

When I press enter on the last field of the grid row, I get the exception
raised that the
        the dataset is not in edit or insert mode.

If I continue thru the exception, the new row opens up and I can continue to
enter until I get
        to the end of the next row and so on...

Any enlightenment would be greatly appreciated.

Thanks
Bill Lawler