We're pretty similar to Rick in that we have 'Reassign' actions which we tend to make available to line managers and other select users. This has the benefit that you can make sure you are taking care of reassigning any other variables that might need changed at the same time and it is audited, unlike doing the change directly in the database.
I am thinking of looking into something more generic like the 'bulk reassignment' but I don't see how that could take care of situations with dynamic roles used for flow control. I haven't sat down and really thought it out so the solution might hit me when I do but care to comment on this example Rick?
A folder appears on Jim's ToDo List cause he is RoleA holder, he has 2 actions to do, Comment and Forward. The Comment action is available to anyone whose ToDo list it is on, the Forward action is only available once Comment is complete by assigning whoever completed Comment into a dynamic role dynCanForward.
How, in a generic way, could you ensure dynCanForward is also reassigned?
Also, we have a thing called Delegation here which I think was an in house development where users can reassign their roles to other users for a set period of time, exactly for situations like annual leave. It doesn't update existing items on their ToDo list but it does re-route new ones to other people. (When people remember to put it on of course!)