I made all the error go away and made it working
Here are my versions:
Views - 6.x-2.16
View mails - 6.x-1.x-dev
Views Bulk Operations - 6.x-1.12

Changes I had to do in the views_mail.module

Line No: 364
  // This gets the list of fields from the view that has been selected.
  // I think that the column key is created by combining the
  // table name and field name.  
  $view_fields = array();
  $view_email_fields = array();
  foreach ($view->display['default']->display_options['fields'] as $name=>$value) {
    //$field = $value['table'].'_'.$value['field']; /////////////WRONG HERE
      $field = $name;
	$label = $value['label'];
	$view_fields[$field] = $label;
    $view_email_fields[$field] = $label;
  }

In my case I don't had to validate if the user has opted-out for email or not so I commented out this line
//if (views_mail_accept_mail($email) === TRUE) {

Near Line Number 1171

function views_mail_get_recipients($name_field, $email_field, $nid_field, $additional_mails = array(), $view, $build = TRUE) {

  $count = 0;
  $recipients = array();

  $_SESSION['views_mail'][$view->name]['recipients'] = array();

  if (empty($name_field) || empty($email_field)) {
    return $count;
    
  }

  if (variable_get("views_mail_debug", 0) == 1) {
    drupal_set_message('name_field : '.$name_field); // DEBUG
    drupal_set_message('email_field : '.$email_field); // DEBUG
    drupal_set_message('nid_field : '.$nid_field); // DEBUG
  }
  foreach ($view->result as $result) {
        if (isset($result->$email_field)){
           $email = $result->$email_field;
           } else {
           $email_field = $view->field[$email_field]->field_alias;
           $email = $result->$email_field;
           }

           
        //drupal_set_message('email_field : '.$email_field);
	//$email_field = $view->field[$email_field]->field_alias;
        //drupal_set_message('email_field : '.$email_field);
	//drupal_set_message('field_alias : '.$field_alias);
	//$result_num = $view->row_index; // Sets the row number so we can get the correct value out of $view->result[]
	//$email = $view->result[$result_num]->$field_alias;
        
        if (isset($result->$name_field)){
           $name = $result->$name_field;
           } else {
           $name_field = $view->field[$name_field]->field_alias;
           $name = $result->$name_field;
           }        
        
        
	
	//drupal_set_message('name : '.$name); // DEBUG
	//drupal_set_message('email : '.$email); // DEBUG
	
    if ($nid_field) {
	      //drupal_set_message('nid_field : '.$nid_field); // DEBUG
	      $nid = $result->$nid_field;
	     // Looks like this might just be nid instead of node_nid
	  if (!$nid) $nid = $result->nid;
	} else {
	  $nid = 0;
	}

	 if (variable_get("views_mail_debug", 0) == 1) {
	      drupal_set_message('<pre>'. print_r($result, TRUE) .'</pre>'); // DEBUG
	}

    if (valid_email_address($email)) {
	  // See if this user has opted out of receiving emails from us.
	  //if (views_mail_accept_mail($email) === TRUE) {
        $recipients[$email]['name'] = $name;
        $recipients[$email]['nid'] = $nid;
	  //}
	}
	// Add additional email addresses if they exist
	// They will use the name field selected in this record
    if ($additional_mails) {
      foreach ($additional_mails as $additional_email_field => $checked) {
        if ($checked) {
		if (isset($result->$additional_email_field)){
		   $additional_email = $result->$additional_email_field;
		   } else {
		   $additional_email_field = $view->field[$additional_email_field]->field_alias;
		   $additional_email = $result->$additional_email_field;
		   }            
        
 
          if (valid_email_address($additional_email)) {
	        // See if this user has opted out of receiving emails from us.
	        //if (views_mail_accept_mail($additional_email) === TRUE) {
              $recipients[$additional_email]['name'] = $name;
              $recipients[$additional_email]['nid'] = $nid;
	        //}
	      }
        }
      }
    }
  }
  
  $count = count($recipients);

  if ($build == TRUE) {
    $_SESSION['views_mail'][$view->name]['recipients'] = $recipients;  
  }
  
  return $count;
}