Setting a cell ReadOnly also makes it ReadOnly for programatic changes too.
To change a ReadOnly cell, you first need to set grid.IgnoreReadOnly = true, then make the change, then reset the IgnoreReadOnly property.
GridControl1.IgnoreReadOnly = True
For i = 1 To 10
For j = 1 To 10
GridControl1(i, j).ReadOnly = False
Next
Next
GridControl1.IgnoreReadOnly = False