It is a permission issue.
DateTimeControl field uses the iframe calender page to render the actual calender. The location of iframe.aspx is C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS
The problem appeared to be with managed paths in the site collections, the Users with “Contribute access” were accessing the following path:
http://myserver/_layouts/iframe.aspx (Path to Root site collection where user doesn’t have access)
DateTimeControl .DatePickerFrameUrl =SPContext.Current.Web.Url+”/_layouts/iframe.aspx “;
DatePickerFrameUrl = “” DateOnly=”true” runat=”server” />
~site/ is an equivalent to SPContext.Current.Web.ServerRelativeUrl
~sitecollection/ is an equivalent to SPContext.Current.Site.ServerRelativeUrl