The solution is the Default file setting as it appears you have figured out.
The default file setting should be set to whatever you want the file field value to be when no file is selected. On insert pages it can be set to be blank or set to an actual default stock photo.
On update pages it is generally set to the current value in the database so that if no new file is selected it keeps its current value by default.
Since you noted issues with the order of the code you should make sure the order is:
1) recordset
2) file upload
3) update