Not having looked at the code. It seems like if two users can add a revision to the same cr_item, this would occur, as the trigger would try to update cr_items.latest_revision.
That said, I can't imagine why that would happen, and I think there definitely is a misunderstanding in how the CR should be used in the design of the assessment package.