Eche un vistazo más de cerca a la sintaxis de INSERT ... ON DUPLICATE
. Después de ON DUPLICATE KEY UPDATE
viene una secuencia de columna =expresión declaraciones. Prueba algo como:
INSERT INTO testTable (adhex,reg,mtime)
VALUES ('00B0BA','reg-1','1294129605')
ON DUPLICATE KEY UPDATE reg=IF(mtime < VALUES(mtime), 'ZsS-SLD', reg),
mtime=IF(mtime < VALUES(mtime), VALUES(mtime), mtime)