How to remove delete link from admin manage fields ui
this function will do one of two things - remove the link from the screen, or limit it's effect to doing nothing, depending on what you want to accomplish.

This will work on the Body of an Article - you will need to adjust names appropriately for the content type and field names.

Keep in mind however this will not prevent them from accessing the delete functionality using the url: example.com/admin/structure/types/manage/article/fields/body/delete - you would need to either override the menu, use an access restriction module or something like Rules to prevent users from manually deleting the field.

function MODULE_form_alter(&amp;$form, &amp;$form_state, $form_id)
{
  if($form_id == 'field_ui_field_overview_form' &amp;&amp; $form['#bundle'] == 'article')
  {
    unset($form['fields']['body']['delete']);  // remove the link

    $form['fields']['body']['delete']['#href'] = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '#';  // make the link have no effect
  }
}