The code sample you provided, it seems to never go in the rowunselect function.
That is exactly the bug/issue I am reporting. Visibly when you multiselect rows, with dragging the mouse, the rows are highlighted and rowselect is triggered. When you select a different range the previously selected range of rows are unselected (visibly) and they SHOULD trigger rowunselect method but it doesn’t.
It is our client’s requirement to have both checkboxes and multiselect option available in their grids. Your suggestion may work if the user was just clicking on one row to toggle checkbox. But when dragging to multi select it will fail because the user will not drag on the previously select rows, he is dragging on a new range to select.