I tweaked your OnDraw as below to avoid the problem (essentially just positioning and showing the edit control without calling the base class).
protected override void OnDraw(Graphics g, Rectangle clientRectangle, int rowIndex, int colIndex, GridStyleInfo style)
{
clientRectangle.Size = GridUtil.Max(clientRectangle.Size, GridCellDateTimePickerModel.DateTimePickerControlSize);
if (this.ShouldDrawFocused(rowIndex, colIndex))
{
this.FixControlParent(_editDateTimePicker);
// Position current grid.
this._editDateTimePicker.Size = clientRectangle.Size;
this._editDateTimePicker.Location = clientRectangle.Location;
if (!this._editDateTimePicker.ContainsFocus)
this._editDateTimePicker.Focus();
}
else
{
style.Control = this._viewDateTimePicker;
GridCellDateTimePickerModel.InitializeDateTimePicker(this._viewDateTimePicker, style);
base.OnDraw (g, clientRectangle, rowIndex, colIndex, style);
}
}
If you just want a DateTimePicker cell, you can get one in this KB. http://www.syncfusion.com/support/kb/grid/Default.aspx?ToDo=view&questId=292