Ich zitiere hier direkt die PHP-Dokumentation:
Bei Verwendung von UPDATE aktualisiert MySQL keine Spalten, bei denen der neue Wert derselbe wie der alte Wert ist. Dadurch entsteht die Möglichkeit, dass mysql_affected_rows() möglicherweise nicht der Anzahl der übereinstimmenden Zeilen entspricht, sondern nur der Anzahl der Zeilen, die tatsächlich von der Abfrage betroffen waren.
In Ihrem Fall gibt mysql_affected_rows() also 0 zurück, wenn UNIX_TIMESTAMP() denselben Wert zurückgibt (z. B. zwei Anfragen von demselben Client in derselben Sekunde).