Speed vs Reliability
There are two techniques that MSMQ uses to transmit messages across the network. The first (and the default) results is a fast transfer that has the possibility that a message may be lost. This is due to the fact that messages are kept in memory as they are being routed. If the routing computer were to crash before the message could be sent to the destination, it would be lost. The second technique causes the message to be placed on the disk of the routing computer before it continues on its journey. The resulting I/O causes a degradation in performance, but it does ensure delivery. The Delivery property in the MSMQMessage object is used to control the technique that is used. By setting Delivery to MQMSG_DELIVERY_RECOVERABLE, you ensure that the transaction arrives at its destination. The default value is MQMSG_DELIVERY_EXPRESS.