Using SharePoint 2010 and InfoPath 2010. Deployed the template to my library and it works. Have an ItemUpdating event receiver that I wrote that updates a library field with a message when user submits the IP form (e.g., "Need to approve the form to send data to database"). It is attached to the library, not the content type. I have the "Require content approval" turned on for the library. ItemUpdating checks to see if state of file is going to Approved, if not it writes the message above to the library field. If it is Approved, it reads the data from the IP Form and stores it to the db. I am using ItemUpdating because if there is a failure in writing to the db somewhere, I don't want the file's status to go to Approved, so I am able to Cancel the event receiver on any error. The ItemUpdating writes an error message to the same library field, and cancels the event receiver so that the file stays at Pending.
The problem is that when I create a new form instance and submit it, my event receiver doesn't seem to be triggered. If I upload an existing IP form (xml) to the library, the event receiver fires and does what it is supposed to do. Obviously that was just a test and users are not expected to be uploading InfoPath forms, but it proved my event receiver works for file uploads, and shows it does not fire when I create a new form and use the InfoPath Submit button.
Is this expected behavior? Shouldn't ItemUpdating on the library fire when user Submits an InfoPath form?