Как мне известно практически все CMS с открытым кодом страдают этой болезнью :).
А суть ее такова. Все мы с вами живем в разных часовых поясах. Drupal да и другие - решают эту проблему стандартно. Суммируют смещение. И никто, насколько я понима. не задумывался что date() ведь зависти от текущей временной зоны прописанной в системе. Как и другие функции в PHP, идущие по сути из библиотек языка C.
Я сделал модуль и мааааааааленький патч., который решает эту проблему.