I did something similar for my EA-Matic scripts.
If someone updates the scripts in EA, I would have liked all the other users of the add-in to get notified, so the scripts could be refreshed.
Since that was not possible (the update of scripts doesn't event trigger any events, so my add-in is not aware of any) I added a check to validate if any of the script had changed. This check is performed on any of the broadcast events, if the previous check was more than 5 minutes ago.
So effectively, a change to an EA-Matic script is being propagated to all users within 5 minutes. (you can still trigger a refresh manually by opening the settings window)
What I did in order to validate if anything had changed, is to store the hash of all scripts together in memory.
Then when I check again, I make a new hash, and compare that to the hash in memory.
I guess you could do something similar. Every 5 minutes or so make a hash of all your rules, and compare that to the previous one. If there is a difference you know you need to refresh the rules.
If you control the changes from within the add-in, you can set a flag somewhere in the database to indicate that you've changed the rules. If you use a new GUID each time you update the rules, the running instances can check that GUID against the one that is loaded. If it's different, they need to refresh.
Geert