Do you ever need a selected row? If not, I usually handle this by cheating and just setting the selected cell ForeColor and BackColor to the same color as an unselected cell. This way you just never see the highlight.
You can also change the selection mode if you want to change what gets highlighted...the whole row, the whole column, just a cell, etc. It might be that the ClearSelection method only works if the selection mode is set to CellSelect.
Hope this helps.
--I also found this:
http://manfred-ramoser.blogspot.com/2008/01/hide-selection-in-datagridview.html[
^]