I've run into a very weird issue with delevery notifications lately. Here is the scenario :
I have an orchestration which sends a message to a one-way send-port configured with delivery notification = Transmitted (btw the send port uses the FTP adapter, but I think it doesn't matter what the adapter is).
When there is a messaging error, the error is trapped by the orchestration (therefore meaning that the delivery notification mechanism worked as expected), which does some logging and then terminates programatically (Terminate shape). The messaging instance still exists and is suspended and resumable.
After solving the problem that caused the messaging error, I resume the suspended messaging instance.
At this point I get 2 very suspicious messaging instances : a routing failure for the ACK and the messaging instance still active (but doing nothing...). I am sure that the routing failure instance is the delivery notification related to the active messaging instance since they have the same CorrelationToken. One more detail : if I terminate the active instance, it gets suspended (not resumable), and the error message says that the instance completed without consuming all of its messages!
Last but not least, I get this problem only on certain environments...
UPDATE : It seems like the problem appears on BizTalk boxes that run BizTalk 2006 R2 SP1. It never occured on the boxes that run BizTalk 2006 R2 without SP1. I'll try and confirm this ASAP
UPDATE 2 : It appears I was right in my last update : the problem appears after installing SP1 CU1... So next step : I will try and find if one of the following CUs corrects the problem.