Все зависит от того, КАКИЕ манипуляции Вы планируете со временем роводить и КАКАЯ информация будет идти с датой для пользователя.
Это я вот к чему — напрмер я в одном проекте использую timestamp. так как для пользователя отдаю в виде — Статья опубликована три дня назад/неделю назад/годи три месяца назад и т.п. Мне как разработчику с timestamp проще.
Но если Вы собираетесь вычислять время, вроде аукционов — осталось 16 часов 23 минуты — то datetime будет рациональнее использовать.
Опять-же, писали выше, и так и так — одинаково работает, вопрос в удобстве.
Я не глубокий специалист в MySQL, но вроде бы он исходно даты хранит какраз в timestamp. Поправте если не прав.