With the later code bases, (1.6.1.8 or 2.0.0.5 and higher), you can use this code to make a cell unchangeable as long as you are not letting the grid be an OLE DND drop target.
GridStyleInfo style = this.gridControl1[2,2];
style.CellType = "Static";
style.Text = "SomeText";
style.ReadOnly = true;
If you want a particular cell to be absolutely immutable (including to OLE DND), then you can handle SaveCellInfo, and not save the change. Make sure you subscribe to the event after you set the cell text otherwise, the change will not take.
//in formload
GridStyleInfo style = this.gridControl1[2,2];
style.Text = "SomeText";
this.gridControl1.SaveCellInfo += new GridSaveCellInfoEventHandler(this.gridControl1_SaveCellInfo);
//the handler
private void gridControl1_SaveCellInfo(object sender, GridSaveCellInfoEventArgs e)
{
if(e.ColIndex == 2 && e.RowIndex == 2)
{
e.Handled = true;
}
}