Hi, Bruce
Yes, the shipping data files are all that is needed. Although there are two new tables in the dictionary each with an ID field and a simple string field, the issue is about inserting a new record so existing data for the new tables is not needed.
To replicate the problem, after compiling and running the modified example app, select Test Tag under the Test menu. Test Form 1 page appears with a single field primed with the current time by PreInsert. There is a button to call the child form page, Test Form 2 which has just the Save and Cancel buttons. Clicking Save returns to Test Form 1 but calls PreInsert again so the record is reprimed with a new time. Clicking Cancel does note call PreInsert again.
Although it was not included in the example app, calling a Browse from the parent form also triggers PreInsert again on returning.
While the example is fairly trivial, in a real world app the consequences can be substantial. Not only are some fields reprimed, the whole record is cleared so any entries made before going to the child form are lost, and if child records have been tagged the link to the parent record is lost.
Hope that is a little clearer.
Thanks.