wouldn't be able to help really without seeing your file.
one of two things are happening.
1) Your records in the portal are not being committed before display and are thus being lost in the FMGo crash.
2) The relation that relates the main table to the portal is not re-establishing itself on reboot.
You can check for #2 by searching for "orphaned" records in the child/portal raw data. If the records are there and not displaying, it's #2. If the records are NOT there, then it's #1, and you should modify your system to auto-commit the data accordingly.
Also, not sure what methodology you are using for barcode scanning, but it sounds like it's not working for you if it's crashing your ipad. Maybe work on that as well.
What script trigger are you using with the scanner?
OnObjectKeystroje is notoriously bad at causing crashing in Go 14. Not as bad with 15.
Try using OnObjectSave or OnObjectExit.