I think that you should first get your insert working correctly, then you can move on to the validation of the email and other parts of this.
When it comes to the current insert you are just getting the first row of your recordset into the db. This is as expected if there is no filtering occurring on that rs. To make it so you can use this rs in the insert server behavior you will need to ensure that the rs is filtered by the user that you want to get the info for.
If you are already populating form with hidden fields that have the information to insert you should be able to use this info directly in your insert rather than get it from a rs.
How do you determine what user is being inserted? Whatever value you use to determine what user is the value that you will need to filter your recordset on to ensure you get the proper details.
Please post back with any questions that you have on this part or if you have any specific trouble with this filtering so that we can help you get going in the rite direction.