Hi Jorge,
we had the requirement to provide an "audit trail" including reassignments. Just as you did, we implemented a custom history listener and recorded all events we are interested in.
At least in 4.2 we faced an issue here: The "old" assignee is not a member of the Reassign-Event! As we had several other requirements regarding reassignments, we implemented a custom reassign-CMD and a corresponding custom reassign-event. Sounds costly, but actually wasn't.
Regards
Torsten