I have had similar issues with events not clearing from one call to the next in a VI.
Wrap the VI with the event handler into another caller VI
Make this caller load dynamically. You can easily do this with a right click on the VI in the block diagram.
Call setup: Reload for each call
That will destroy the queue in the VI.
I would imagine others saying there is something wrong with this but It has worked for me and Iv'e had no issues yet.
.