Nie wiem co robisz źle... Ja poradziłem sobie z tym w ten sposób - podaję swój kod, żebyś przeanalizował i może dojdziesz:
Ps. "if (@mysql_num_rows($result)) $out = false; else $out = true;" talinijka mi dziwnie wygląda, ale głowy nie dam sobie uciąć

var validator = $("#registration").validate({
rules: {
email: {
required: true,
email: true,
remote: {url: "./remote/validate.php", type: "post"}
}
},
messages: {
required: "Wprowadź poprawny e-mail.",
remote: "Podany e-mail jest już w użyciu."
},
success: function(label) {
// set as text for IE
label.html(" ").addClass("checked");
}
});
./remote/validate.php:
<?php
$test = $_POST['email'];
function connect()
{
$con = new mysqli('localhost', 'login albo baza nie pamietam co tu', 'pass', 'login albo baza nie pamietam co tu');
if (!$con)
return false;
$con->autocommit(TRUE);
return $con;
}
function create_array($data)
{
for ($i=0; $row = $data->fetch_assoc(); $i++)
$new_array[$i] = $row;
return $new_array;
}
$lacz = connect();
$kodowanie = $lacz->query("SET NAMES 'utf8';"); // to w sumie nie jest potrzebne
$wynik = $lacz->query("SELECT e_mail FROM tabela WHERE e_mail = '".$test."');");
$lacz->close();
$email= create_array($wynik);
if ($test == $email[0]['e_mail'] or
$email == 'jakis mail jakbys uzywal masked input') echo 'false'; else echo 'true'; }
?>
Oczywiście musisz sobie zabezpieczyć co trzeba - powinno działać, zmodyfikuj pod siebie.