If we're talking about from a reporting perspective, there is another option. Turn on audit logging (different from activity logs). I believe the Options Manager options are audit_ins and audit_upd. These will create entries in the audit_log table.
Entries with an aud_opr value of 3 are inserts, like new ticket created.
Entries with an aud_opr value of 1 are updates, changes to a field on the ticket.
If you're looking at incident/problem/request tickets, the field to join on is call_req_id
If you're looking at changes, the field to join on is change_id
If you're looking at issues, the field to join on is issue_id
When the group changes, attr_name = 'group' and then you can see before and after values in attr_before_val and attr_after_val
So if you do something like this...
Select ref_num, count(attr_name) "Group Transfer Count"
from call_req
left outer join audit_log On call_req.persid = audit_log.call_req_id and attr_name = 'group'
Where ref_num = 'ticketnumber'
Group By ref_num
You would get the ticket number and the number of times the group changes since initial save. If it never changed, it'll say 0. If it did you'll get a count > 0. Obviously you'd modify you're where clause to something more appropriate.