I have created a new node type within a module (for Drupal 7). I have created fields for it programatically as well and they all display. The one problem I am experiencing is that the title field does not display. I am not sure how or where to look to fix this. The title field does display in the node type's manage fields display.
Here is the code for creating the node type in hook_install():
// define the node type
$type = array(
'type' => $machine_name,
'name' => $t($parameters['name']),
'base' => 'room_reservations',
'module' => 'room_reservations',
'description' => $t($parameters['description']),
'has_title' => TRUE,
'title_label' => $t($parameters['title_label']),
'custom' => FALSE,
'locked' => TRUE,
'disabled' => FALSE,
);
// set other node defaults not declared above
$content_type = node_type_set_defaults($type);
// add the body field
node_add_body_field($content_type, $t($parameters['body_label']));
// save the content type
node_type_save($content_type);