This fixes a problem where CONTENT_HANDLE_MODULE does not actually give the needed control to the module.

diff -Nurp ../cck.orig//includes/content.node_form.inc ./includes/content.node_form.inc
--- ../cck.orig//includes/content.node_form.inc	2010-07-16 12:47:32.000000000 -0500
+++ ./includes/content.node_form.inc	2010-07-16 12:49:12.000000000 -0500
@@ -96,8 +96,7 @@ function content_field_form(&$form, &$fo
     // or selecting an individual element, just get a single form
     // element and make it the $delta value.
     else {
-      $delta = isset($get_delta) ? $get_delta : 0;
-      if ($element = $function($form, $form_state, $field, $items, $delta)) {
+      if ($element = $function($form, $form_state, $field, $items, $get_delta)) {
         $title = check_plain(t($field['widget']['label']));
         $description = content_filter_xss(t($field['widget']['description']));
         $defaults = array(
@@ -105,16 +104,18 @@ function content_field_form(&$form, &$fo
           '#columns'  => array_keys($field['columns']),
           '#title' => $title,
           '#description' => $description,
-          '#delta' => $delta,
           '#field_name' => $field['field_name'],
           '#type_name' => $field['type_name'],
         );
+        if (isset($get_delta)){
+          $defaults['#delta'] = $get_delta;
+        }
         // If we're processing a specific delta value for a field where the
         // content module handles multiples, set the delta in the result.
         // For fields that handle their own processing, we can't make assumptions
         // about how the field is structured, just merge in the returned value.
-        if (content_handle('widget', 'multiple values', $field) == CONTENT_HANDLE_CORE) {
-          $form_element[$delta] = array_merge($element, $defaults);
+        if (isset($get_delta) || content_handle('widget', 'multiple values', $field) == CONTENT_HANDLE_CORE) {
+          $form_element[$get_delta] = array_merge($element, $defaults);
         }
         else {
           $form_element = array_merge($element, $defaults);
