Thanks for throwing this together!
I've reviewed the code and changed it (removed some globally leaking variables / fixed translation strings to be properl created, using LFG_ROLE_TANK etc. constants for the group roles instead of the numbers, using the proper SavedVariables table and not the defaults, and others).
Will test this and link the updated code here then afterwards
Edit:
GroupRoleSnitch fixed and improved
Tested it as good as possible and should work now. Roles are only alerted if they really change "since joining the group", and the alerts will be repeated if they still are wrong as you zone/reload the UI