Well, you do need to change the "none" to "advance". It's not really missing, but you are not clearing out the queue, so it just takes longer and longer to process. "advance" will keep the pointer up to date.
If you use these right, it'll never miss. However, there's still times when you are clearing the queue and you get a message at the totally wrong time, you might miss that. Luck I guess.