Fred,
I just tried this in our sample app and it worked without a hitch. I created a subset of your audit fields (ID, TableName and UserID), but that shouldn't make a difference. The HookPostSave() method gets called from the SaveDataSet() method when the transaction is still "live".
Is this just a single business object you're saving or do you have relationships established between multiple businenss objects?
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