Exactly what behavior do you want?
When I bring up Excel and select a range, if I click to another cell in the selected range or click to another cell outside the selected range, in either case I see the original selection go away. To maintain the selection, I have to hold down the control key as I click.
This is how the grid behaves by default as well.
You can probably get whatever behavior you want by handling the SelectionsChanging event. Here is sample code that retains the selection (without the control key) as long as you click within the currently selcted range.
private void grid_SelectionChanging(object sender, GridSelectionChangingEventArgs e)
{
int row, col;
GridRangeInfoList rangeList;
Point pt = this.grid.PointToClient(Control.MousePosition);
if(e.Range.IsEmpty && Control.MouseButtons == MouseButtons.Left
&& this.grid.PointToRowCol(pt, out row, out col, -1)
&& this.grid.Selections.GetSelectedRanges(out rangeList, false)
&& rangeList.AnyRangeContains(GridRangeInfo.Cell(row, col)))
{
e.Cancel = true;
}
}