Premetto che suono nuovo in PHP...
Da manuale l'operatore per il confronto è == e non = che serve per assegnare.

Nel codice però ho settato una variabile di sessione così:

$_SESSION['login'] = "yes";

Poi quando vado a confrontarla così:

if ($_SESSION['login'] == "yes") {

non funziona, invece così

if ($_SESSION['login'] = "yes") {

sì!
Ed anche negata funziona
if ($_SESSION['login'] != "yes") {

Ma come mai?
Il mio ambiente di sviluppo è su windows (installato PHP5+Apache2.2+Mysql5 da guida)