Hi Andy,
Try setting DataGridView.IsSelectionCritical = True and it should work fine.
I just tested the sample application on that tracker entry and it works fine with this setting.
It is by design that it does not fire the RowEnter event as a critical event when IsSelectionCritical = False. The event does fire, but only on the next request to the server.
Hope this explains and helps,
Palli