l'uso che fai della funzione date non è corretto: se passi una stringa e basta, la funzione la considera come i parametri per formattare la data corrente. Vedi http://www.php.net/date

Io di solito utilizzo strtotime() per fare confronti.

Luca