People using bundle copy module to export and then reimport content types as new will not create any spatial indexes on geom columns (if any exist in the elected backend's update_field callback, e.g. using PostGIS backend).

From a code inspection, this appears to be because new content types are created using field_create_field but the Geofield module only updates spatial indexes when hook_field_update_field is called (geofield_field_update_field in geofield.module).

Perhaps hook_field_create_field can be carefully constructed to call the same relevant 'update_field' callback.

/**
 * Implements hook_field_create_field.
 * 
 * If a geofield has been created, check to see if the plugin controlling it
 * defines a 'postinstall' callback, if so, call it.
 */
function geofield_field_create_field($field) {
  $has_data = FALSE;
  $prior_field = FALSE;
  if ($field['type'] == 'geofield') {
    $backend = ctools_get_plugins('geofield', 'geofield_backend', $field['settings']['backend']);
    if (!empty($backend['update_field'])) {
      $postinstall_callback = $backend['update_field'];
      $postinstall_callback($field, $prior_field, $has_data);
    }
  }
}

This code is untested and some things may have been overlooked.