I am late here, but I have thought about this in my own framework and determined my old ways were the best. I have a separate table with PK values in them and have the biz object increment from this table at the time the view record is added.
This alleviates a lot of problems, but mainly having the PK available for child view records before I save them all. If the view is never saved, then the number is wasted, but you can always create another field for things like order numbers (that you don't want missing values in) that gets added at the time the record is saved.
Scott McDaniel
MCP VFP Desktop