Since workflows always fire after the re-assignment you might still have
a problem figuring out who the old owner was. I think it would be
better to write it as an Event Reciever (Handler) that could intercept
the Modify Event while ownership is being changed, but before it is
committed to the database. That way you might be able to get both
present and past owners.