Ragazzi credo di avere trovato il problema, questo:
codice:
function verificaEsistenza(tipologia,nome) {
    if (tipologia == 1) {
        $.post("./service.php", { nome_categoria: nome }, function(idCat) {
            if (idCat != "") {
                return (false);
            } else {
                return (true);
            }
        });
    } else {
        $.post("./service.php", { nome_sub_categoria: nome }, function(idSubCat) {
            if (idSubCat != "") {
                return (false);
            } else {
                return (true);
            }
        });
    }
}
Il risultato è undefined di questa funzione, non FALSE, ma comunque entra nell'if con (!valido) e non capisco perché e quindi mi fregava!

C'è modo di far tornare un valore da una jquery.post oppure jquery.ajax? Ho cercato nelle API ma non ci ho trovato niente di utile, qualche suggerimento? Inteso anche come link va benissimo! Ho visto un po su google ma non ci ho capito molto purtroppo....

Saluti, Carlo.