Bruce, after considerable time and effort, I was able to isolate the problem. It has to do with multiple browses on a parent form, where the top browse has a row expansion. If that's the case, the browse displayed below will not refresh after an insert or delete. What's more, on my app (not sure about the enclosed test app), after attempting to insert or delete a record, the browse that it is trying to refresh goes into a continual loop call to BrowseRow and will, sooner or later, crash the app.
Using the enclosed test app: Unzip, compile and run. When it loads, look for the Browse button at the top of the app. FYI, I cannot figure out why anything other than the menu button displays when the app is first opened. Regardless, click on the Browse button at the top, then select the Browse All menu item (the only one). Two browses are displayed, BrowseCustomers and BrowseProducts. Don't worry about the top browse for now. Try to insert a record to the bottom browse or try to delete an existing record from it. The browse will not refresh. If you re-access it by reloading the page (ie clicking on the top Browse button, then re-selecting Browse All), the browse is refreshed.
To correct this problem, go into the app to the BrowseCustomers procedure, go to the General Tab, open the LOC:ExpandRow field Properties and put FALSE in Column Condition to disable it. Do the same for the Procedure field. Recompile and run. Click on the Browse button at the top, then select the Browse All menu item. The bottom browse will now function normally.
Mark
[attachment deleted by admin]