Changes introduced in
QPID-711 to introduce QueueEntry class made worse an existing "misuse" of getDeliveredToConsumer a property of the message. Earlier changes for putting messages on PDQs had used this property as a proxy for whether the queue entry had already been delievered. This is an incorrect usage when a Message has been delivered to multiple queues.
Fix is to remove the attempted shortcut logic for delivering to PDQs; also use taken( ) rather than getDTC for adjusting queue size on message expiration.