node_type_get_type() and hook_uninstall()
If you look at the code that the Forum module executes in forum_uninstall(), you will notice that it just deletes the field it defines, but it doesn't delete the content type it defines.

function forum_uninstall() {
  // Load the dependent Taxonomy module, in case it has been disabled.
  drupal_load('module', 'taxonomy');

  variable_del('forum_containers');
  variable_del('forum_hot_topic');
  variable_del('forum_per_page');
  variable_del('forum_order');
  variable_del('forum_block_num_active');
  variable_del('forum_block_num_new');
  variable_del('node_options_forum');

  field_delete_field('taxonomy_forums');
  // Purge field data now to allow taxonomy module to be uninstalled
  // if this is the only field remaining.
  field_purge_batch(10);
}


Your module should do the same, and avoid deleting the fields defined for the content type (if they are not defined from the module), or the content type itself.