01ef46a5 is the commit in question (mine). With the current code, queue would never run if more messages are added to it before queue_interval runs out.
The old version checked mtime on cache_file, whereas it should probably have checked the mtime on the lock file instead.
With the current code, if we have flock and it works correctly we should be able to unconditionally process the queue as OP suggests. If however we don't have flock or it silently does nothing, which I think is what does in fact happen on some systems, then omitting mtime check will result in (more) concurrent queue processing.
If we want the queue to work somewhat correctly in the absence of locking I think we need to reinstate a flag file that exists while the queue is being processed and does not exist otherwise. (Existence and) mtime check should then be done against that file. The flag file should be created and destroyed under flock lock.