You have an extra space in your code, meaning you are looking up one value ("JDoe") but writing another value (" JDoe").
Change this line:
strSqlUpdate = "INSERT into temp_user (id_num, last_name, First_name, Middle_name, UserName) VALUES ( " & rsn!ID_num & ", '" & rsn!Last_Name & " ', '" &...