この方法は確かに機能しますが、UNIX_TIMESTAMP を 2 回呼び出します。
mysql> select UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP('2009-09-23 22:07:42');
+---------------------------------------------------------------+
| UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP('2009-09-23 22:07:42') |
+---------------------------------------------------------------+
| 639 |
+---------------------------------------------------------------+
1 row in set (0.05 sec)