Используется:
private void endPicker_CloseUp(object sender, EventArgs e)
событие вместо:
private void endPicker_ValueChanged(object sender, EventArgs e)
Это событие запускается после выбора значения, а не до;следовательно, он не является значением по умолчанию первого числа месяца.