Error number 3494 says "Unable to retrieve the specified Registry parameter for the Synchronizer" on my setup.
You haven't told us what datatype the fields are.
Datatype mismatch usually tells us that you're stuffing values of wrong datatype into a variable, field, property etc (or that you through dynamic SQL are querying or applying value to a text field without proper text qualifiers).
In the last part of the code, you're assigning the caption of a label called ID1 into a field called ID3 and the caption of a label called ID3 into a field called ID1.
Might I guess it should be the other way around, and that one of these fields are text and one numeric?
Another guess, since there's a mismatch the second time, is that perhaps one, or more of the controls have changed values to something illegal, or are empty?
Roy-Vidar