Ik citeer hier rechtstreeks de PHP-documentatie:
Bij gebruik van UPDATE zal MySQL geen kolommen bijwerken waarvan de nieuwe waarde hetzelfde is als de oude waarde. Dit creëert de mogelijkheid dat mysql_affected_rows() niet echt gelijk is aan het aantal overeenkomende rijen, alleen het aantal rijen dat letterlijk werd beïnvloed door de zoekopdracht.
Dus in jouw geval zal mysql_affected_rows() 0 retourneren wanneer UNIX_TIMESTAMP() dezelfde waarde retourneert (bijvoorbeeld twee verzoeken van dezelfde client in dezelfde seconde).