Credo di aver capito cosa vuoi dire: jquery legge la classe al momento in cui la pagina si carica poi non la legge più pertanto anche se io modifico la classe, jquery si tiene a mente quella che ha letto la prima volta. A grandi linee dico bene?

Cmq come potrei risolvere? Per esempio, come potrei variare il seguente script in modo che jquery reagisca come dico io e cioé dopo il primo click il link risulti disattivato?

Non badare al codice se sia proprio elegante o meno, è solo un esempio, le ottimizzazioni del caso le farò in seguito se riuscirò a farlo funzionare.

codice:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

</head>
<body>                                                                                                    
                                                                                                  
<p style="cursor:pointer" id="link1" class="attivato">link</p>

<script type="text/javascript" language="javascript">
$('.attivato#link1').click(function(){
alert(this.className);
$(this).removeClass('attivato').addClass('disattivato');
alert(this.className);
});
</script>

</body>
</html>