Limit node reference to 1 per user & per referenced node, Drupal 7
A solution is to use hook on form_alter inside a custom module :

function MYMODULE_form_alter(&amp;$form, &amp;$form_state, $form_id) {
 if($form_id == 'vote_node_form') {
    global $user;
    $nid = explode('/', current_path());
    $nid = end($nid);
    // I'm sure that next part can be done waaaaaaay better
    $query = db_select('node', 'n')
    -&gt;condition('entity_type', 'vote', '=')
    -&gt;condition('uid', $user-&gt;uid, '=');
    $query-&gt;join('your_entity_ref_field_table', 'e', 'n.nid = e.entity_id');
    $query-&gt;condition('your_reference_column', $nid, '=');
    $query-&gt;groupBy('e.entity_id')-&gt;execute();
    // I'd advice to do a dpm($query-&gt;fetchAssoc();) to check if I didn't make a mistake         :)

    if(!empty($query)) {
            // We force the user to go on any page if he has already casted a vote on that debate (you can i.e create a page with a word of explanation)
            drupal_goto('/');
            //or do whatever you want here
    } else {
            // If not, we let him go to the normal node creation page
    }
  }
}