To reproduce: please refer to the attached sample project. Note that the CellValidating event is fired twice even without showing a RadMessageBox. With an MS Button the problem is not reproducible.
Workaround: use the RadGridView.ValueChanging event to perform validation while the user is typing in the active editor:
private void radGridView1_ValueChanging(object sender, Telerik.WinControls.UI.ValueChangingEventArgs e)
{
if (((string)e.NewValue) != "x")
{
RadMessageBox.Show("Only 'x' allowed!");
e.Cancel = true;
}
}