Let me start with my assumptions based on what you say. I assume:
1. You have separate tables for personal information, criminal records, and volunteer activities
2. You currently create an new record in one of these tables (probably the personal info one) and then rely on your relationship structure to navigate to and populate the other tables as required.
My suggestion is that you create a new table in one of your files (or yet another separate file if you prefer) purely for the purpose of registration. Include in this table all the fields you want populated during the registration process, and use it for registration of new volunteers only.
When a new volunteer is registering, begin by creating a new temporary record in this table (place a START button on the layout with a one step script to achieve this), then have your volunteer enter all their details in the fields in this table, then click on a FINISH REGISTRATION button, which will take over and script the rest of the process. The script will gather up all the data the volunteer has entered in a set of variables, then create whatever new records are required in your live data files, insert the details from the variables, create whatever accounts are required in each of the files, and finally delete the temporary record in the registration table.