Bob,
>Further analysis in this shows that when the offset rule is run the second time there are 2 records in the dataset that is passed to the business rule. Since the first record in the dataset is the first record added successfully, and is current when the rule fires, it does not think anything has changed and therefore the validate methods do not run, which is not what I want
A few things you can do...you can change the business rule class so it doesn't check for Unchanged. Another thing you can do is manually begin, commit, and roll back a transaction that includes both business objects. Just register one object as a child of other, and check out the MM .NET Dev Guide topic "Working with Transactions" to see how to use transactions manually.
Best Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com