Jeg citerer direkte PHP-dokumentationen her:
Når du bruger UPDATE, vil MySQL ikke opdatere kolonner, hvor den nye værdi er den samme som den gamle værdi. Dette skaber muligheden for, at mysql_affected_rows() faktisk ikke svarer til antallet af matchede rækker, kun antallet af rækker, der bogstaveligt talt blev påvirket af forespørgslen.
Så i dit tilfælde vil mysql_affected_rows() returnere 0, når UNIX_TIMESTAMP() returnerer den samme værdi (for eksempel to anmodninger fra den samme klient i samme sekund).