Try handling the individual days checked event:
bool isAutoChange = false;
private Void IndividualDay_CheckedChanged(object sender, EventArgs e)
{
isAutoChange = true;
AllDays.CheckState = CheckState.UnChecked;
isAutoChange = false;
}
Then check the isAutoChange in your AllDays handler and if set, do nothing at all.
The problem is that your AllDays event changes the state of the individual days, and the individual days change the state of AllDays - which causes All Days to fire the event, which...
You need to provide an "override" mechanism to prevent it.