I found a cause of the problem. Seems to be a SharePoint bug. It only occurs when InfoPath library is set to "Open in the browser" in the Advanced Settings. To replicate:
1. Create an InforPath form (v2007) with the Data Connection Winzard so it can send out an email with a button click.
2. In SharePoint, create an InfoPath form library for the form you just created. Go to Library Settings > Advanced Settings > Opening Documents in the Browser > select Open in the browser. Leave all other settings to default.
3. From the library, click "Add document" to bring up the InfoPath form on browser (IE 9) and click the button to send the email.
4. The .eml file goes to the Drop folder, but it will stay there for about a day or two even though Incoming Email Timer job runs successfully every minute. After a day or two, it disppears from the folder and never makes it to the document library.
Cause:
The .eml file contains this entry (one line) that blocks the Timer job to pick up:
X-Mailer: Microsoft SharePoint Foundation 2010
There's no log entries anywhere (ULS, event logs, smtp logs) about this failure.
Resolution (manual):
Remove the line by hand. The Timer job will pick it up as soon it is removed/saved and deliver it to the document library.
Microsoft, please fix this.