The GridViewNewRowInfo is in modified state when the DefaultValuesNeeded event is used. This causes the UserAddingRow event to be fired.
Workaround:
void radGridView1_DefaultValuesNeeded(object sender, GridViewRowEventArgs e)
{
e.Row.Cells["SearchType"].Value = "BI";
FieldInfo fieldInfo = typeof(GridViewRowInfo).GetField("state", BindingFlags.NonPublic | BindingFlags.Instance);
BitVector32 state = (BitVector32)fieldInfo.GetValue(e.Row);
state[2] = false;
fieldInfo.SetValue(e.Row, state);
e.Row.InvalidateRow();
}