Allowed range for date input - down to the day level rather than the year level?
Ok, so this is our "solution". Not tidy, but we didn't want to edit the date module directly.

My module:

&lt;?php
function modulename_form_alter(&amp;$form, &amp;$form_state, $form_id){  
  if(substr($form_id,-9) !== "node_form" ){
    return;
  }
$jsPath = drupal_get_path('module', 'modulename');
  $jsOptions = array(
    'group' =&gt; JS_THEME,
    'weight' =&gt; 20
  );
  // Load this JS late, so that it happens after the main date module   
  drupal_add_js("$jsPath/js/modulename_datepicker.js", $jsOptions);
}


My colleagues code for the modulename_datepicker.js file:

jQuery(document).ready(function(){
    for (var id in Drupal.settings.datePopup) { 
        if (Drupal.settings.datePopup[id].func == "datepicker") {
            var defVal = jQuery('#'+id).val();

            jQuery('#'+id).datepicker();
            jQuery('#'+id).datepicker( "option" , {
                changeMonth: Drupal.settings.datePopup[id].settings.changeMonth,
                changeYear: Drupal.settings.datePopup[id].settings.changeYear,
                firstDay: Drupal.settings.datePopup[id].settings.firstDay,
                defaultDate: Drupal.settings.datePopup[id].settings.defaultDate,
                dateFormat: Drupal.settings.datePopup[id].settings.dateFormat,
                minDate: 0, 
                maxDate: "+1Y"
            });

            if (defVal == '') {
                jQuery('#'+id).datepicker( "setDate" , "+1Y");
            } else {
                jQuery('#'+id).datepicker( "setDate" , defVal);
            }
        }
    }

});


Better solutions welcomed :)