DirectAccess Transaction problems

I am trying to use transactions with DirectAccess.  I want to pop up
master-detail forms, let the user add/edit many detail rows, and then
roll back the lot if they hit Cancel.  Whatever I try, I get many DAO
errors. Here's a simple test case:

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
     Database1.StartTransaction;

     //fake some of what would happen in the modal dialog
     for i := 1 to 5 do
         begin
         tblMaster.Append;
         tblMaster.FieldByName('Comment').AsString :='new record';
         tblMaster.Post;
         end;

     Database1.Rollback;   //gives 'DAO Error: no current record'

end;

"Commit" works OK, Rollback always fails and gives lots of errors.
Transactions do work OK in this scenario with a single record:

        Database1.StartTransaction;

        Table1.Edit;
        Dialog.ShowModal;
        Table1.Post;

        if Dialog1.ModalResult = mrOK then
                Database1.Commit
        else
                begin
                Database1.Rollback;
                Table1.Refresh; //show the changes on screen
                end;

Can anyone shed any light on this?

Thanks,

Andy Robinson