Quindi ZERO dovrebbe indicare uno stato di errore ?

Allora questa riga è errata...
Codice PHP:
$gg date("z"mktime(0,0,01,1,2008)); 
dato che $gg vale ZERO e non 1


ma allora perchè in questo caso
Codice PHP:
$gg date("z"mktime(0,0,012,31,2008)); 
Il risultato non è ZERO (identica sintassi della riga di esempio precedente) ma 365

Che casino...