Тук директно цитирам документацията на PHP:
Когато използвате UPDATE, MySQL няма да актуализира колони, където новата стойност е същата като старата стойност. Това създава възможността mysql_affected_rows() всъщност да не е равен на броя на съпоставените редове, а само на броя на редовете, които са буквално засегнати от заявката.
Така че във вашия случай mysql_affected_rows() ще върне 0, когато UNIX_TIMESTAMP() върне същата стойност (например две заявки от един и същи клиент в една и съща секунда).