Persistent messages that are sent with a delay are lost by the ActiveMQ 5.5.1 broker if the broker is hard killed before the scheduler finishes its work at the end of the delay. This isn't a problem if the broker is gracefully shutdown or if the broker continues to run beyond the delay, even if a consumer isn't waiting to immediately consume the message. If the broker goes down hard during the delay, even if the broker isn't busy, then it will lose 100% of the persistent messages that are waiting for their delay to come to an end.
A simple test case that reproduces this issue can be made by having a producer send one thousand messages that each have a one minute delay. As soon as the last message has been sent by the producer wait an addtional second or two and then hard kill the broker. The hard kill should happen before the one minute delay has passed for the first message. Immediately restart the broker and then start a consumer that is looking for those one thousand messages. Even after a couple of minutes, the messages will not have made it to the consumer.