Give a CCK field a non-editable value?
I used jquery to do just that.

(function($) {

$(document).ready(function() {

// make the number field uneditable!
$('#edit-field-entry-custom-id-und-0-value').attr("disabled", "true");
}); 

}(jQuery));


to be safer however, in case someone disables javascript you could add this to your themes template.php

function YOURTHEME_form_alter(&amp;$form, $form_state, $form_id) {
 if($form_id == 'YOUR_FORM_ID') {
  $form['FIELD_NAME']['#disabled'] = TRUE;

  // YOU CAN UNCOMMENT THE BELOW FOR EXTRA HELPFUL DETAILS
  // GET FORM ID UNCOMMENT BELOW
  // drupal_set_message("Form ID is : " . $form_id);
  // GET ALL FORM ELEMENTS UNCOMMENT BELOW
  // drupal_set_message(dprint_r($form, TRUE));
 }
}