Checking for changed fields - Identifying an empty array & Field Type
Thanks, I've got it! 

// Check the number of values for each field, or if they are populated at all.
$old_field_count = (isset($old_field[LANGUAGE_NONE]) ? count($old_field[LANGUAGE_NONE]) : 0);
$new_field_count = (isset($new_field[LANGUAGE_NONE]) ? count($new_field[LANGUAGE_NONE]) : 0);

If (empty($new_field[LANGUAGE_NONE][0]['value'] &amp;&amp; ($field_info[type] == 'text' || $field_info[type] == 'text_long')) {
    $new_field_count = 0;
}

if ($old_field_count != $new_field_count) {
  // The two versions have a different number of values. Something has changed.
  $fields_changed[] = $field_name;
}