disappeared comment fields in content type, how to put them back
Basing on the code for comment_field_extra_fields(), I think that what you are noting can be explained with the comment_subject_field_$type persistent variable being set to a value different from 1. ($type is the machine name of the content type.)

function comment_field_extra_fields() {
  $return = array();

  foreach (node_type_get_types() as $type) {
    if (variable_get('comment_subject_field_' . $type-&gt;type, 1) == 1) {
      $return['comment']['comment_node_' . $type-&gt;type] = array(
        'form' =&gt; array(
          'author' =&gt; array(
            'label' =&gt; t('Author'),
            'description' =&gt; t('Author textfield'),
            'weight' =&gt; -2,
          ),
          'subject' =&gt; array(
            'label' =&gt; t('Subject'),
            'description' =&gt; t('Subject textfield'),
            'weight' =&gt; -1,
          ),
        ),
      );
    }
  }

  return $return;
}


comment_form() contains the following code.

  $form['subject'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; t('Subject'),
    '#maxlength' =&gt; 64,
    '#default_value' =&gt; $comment-&gt;subject,
    '#access' =&gt; variable_get('comment_subject_field_' . $node-&gt;type, 1) == 1,
    '#weight' =&gt; -1,
  );


Only when the 'comment_subject_field_' . $node-&gt;type persistent variable is set to 1 the users have access to that form field.

Changing the value of that persistent variable to 1 should restore those form fields you are expecting to see.