Just guessing, at this time User 1 closes the form, the TableUpdate() fires. The child records are added with the proper parent index but the data is a copy of user 2's template records or what was currently in the pview of user 2.
Have you checked the data in the table before user 2 did his save? I would bet it would be the data from user 1.