You can use internal flag that is specifies internal changes in this case you can avoid loops:
[c#]
private bool internalChanges = false;
public void OnNodeCellChange(NodeBase node, int index, object value)
{
if (internalChanges) return;//do not handle this event if we in internalChanges state
internalChanges = true;//enter into [internal changes]
try
{
node["SomeField"] = false
}
finally
{
internalChanges = false;//exit from [internal changes]
}
}