Hi Avanburen,
You should be using some kind of a data-driven Web service for this. The tight coupling to a database is going to cause you a lot of pain down the road.
Make sure the XML you are opening was created with the new version of the form. If not, that could be causing a problem. Did the schema change when you added the custom events? If so, your XML is worthless. That's the main problem with tightly coupled InfoPath->DB solutions.
If the schema didn't change and the form is opened from the new version, my guess is that you are saving the form to ShP before you submit to DB. IF so, the form doesn't contain the right ADO goo to tell the DB it's an update as opposed to a duplicate.
That's all I can think of for now.
Happy trails,