If I receive new email, the "Run on new messages" script is actioned as expected.
After downloading and actioning the messages, at the next update interval, mailwatch will change the icon from "New Mail" to "Normal" as expected as there are no longer any new messages, yet the "Run on new messages" script is fired again.
After this point, it will not fire again until there are new messages again.
It seems the script is being fired on any change to the previous new mail count the plugin received, even if that change is to 0 new messages.
I don't observe mentioned behavior and looking at the plugin source code it seems impossible that this could happen.
I am closing this report. If it still happens to you let us know so we can gather more information about this.
The bug can be reproduced when multiple mailboxes are configured.