Tommy,
Cannot get the evt.DeviceGroups updated in the event itself (keep getting 'AttributeError: can't set attribute'), the best I could come up with is updated the actual group of the device but the groups will not show up in the event.
from transaction import commit
if "/BM" not in device.getDeviceGroupNames():
grplist = device.getDeviceGroupNames()
grplist.append('/BM')
device.setGroups(grplist)
commit()
Now not sure how the security works, but would give this a shot to see if it allows users to see the events.
--Rob