The only thing I could think of is that your old values may be stored in the viewstate and when you fire it is not accumulating events for every change you make but rather for each dropdown you change.
Example:
DrownA Original Value: "A"
DrownB Original Value: "A"
DrownC Original Value: "A"
New Values:
DrownA Original Value: "Z"
DrownB Original Value: "Z"
DrownC Original Value: "Z"
The event will fire three times:
DrownA Original Value: A -> Z
DrownB Original Value: A -> Z
DrownC Original Value: A -> Z
This code also raises an exception sometimes:
if (ddlSync != null)
{
ddlSync.ClearSelection();
ddlSync.Items.FindByText(dropdownlist1.SelectedValue.ToString()).Selected = true;
}
As for how to fix this I don't know -- I don't understand what the problem is exactly. I am able to modify fields and it retains the changes, and the item count in the dropdown isn't accumulating. Can you step me through reproducing this behavior?