MySQL 5.5.21 ON UPDATE CURRENT_TIMESTAMP incorrect
I don't think you are supposed to use DEFAULT (constant) with ON UPDATE.

According to the MySQL Docuementation


  With an ON UPDATE CURRENT_TIMESTAMP clause and a constant DEFAULT
  clause, the column is automatically updated to the current timestamp
  and has the given constant default value.


CREATE TABLE t1
(
    ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
);


This might just be stomping over with the current datetime.

On the same page, it says


  With an ON UPDATE CURRENT_TIMESTAMP clause but no DEFAULT clause, the column is automatically updated to the current timestamp. The default is 0 unless the column is defined with the NULL attribute, in which case the default is NULL. 


CREATE TABLE t1
 (
     ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP      -- default 0
 );
 CREATE TABLE t2
 (
     ts TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP -- default NULL
 );


I suggest just removing the DEFAULT '0000-00-00 00:00:00'

Give it a Try !!!