The problem is that the date time picker is initialized to the current date. And this includes the day of the month, which is not valid for several months.
, , 29 2013 . / , , 2013 29 .
, , , :
DateTimePicker1.Format := 'MMM-yyyy';
DateTimePicker1.DateMode := dmUpDown;
DateTimePicker1.DateTime := EncodeDateTime(2013, 1, 29, 0, 0, 0, 0);
, , DateTime . , :
DateTimePicker1.DateTime := StartOfTheMonth(DateTimePicker1.DateTime);
, , :
DateTimePicker1.DateTime := StartOfTheMonth(Date);
StartOfTheMonth DateUtils.