SMF 2.0 users seem to be reporting a flood of PHP error messages concerning no default timezone being defined. I'm assuming that they originally installed on a pre-PHP 5.1 system and thus do not have the default timezone set in the settings table. As SMF queries and handles this timezone name on each page, and knows the PHP version, it should be simple enough to check if you're on a PHP 5.3+ system and do not have a default timezone name. Administrators should then be notified that they need to set this timezone name (perhaps a reasonable guess could be put in the database to tide things over until the administrator can act).
If the timezone name exists in the table but it's a deprecated format (e.g., GMT+4 instead of America/New_York), it should be flagged for update to an approved name. SMF should use (if PHP 5.2+) the list of approved names to select from. It might also add in more familiar names (e.g., EST5EDT) and translate those to an approved name). If the timezone function rejects a name because it's deprecated or has been dropped, the administrator should be notified (and some default such as GMT be used).
Finally, eventually members should be given the option to choose their own timezones from the PHP-approved list (same as the administrator), instead of an hours offset.
SMF has been caught with its pants down by host upgrades to PHP 5.3. It needs a way to gracefully handle missing timezone names, rather than subjecting forum owners to ugly PHP messages. Until we can be sure there are no more pre-PHP 5.1 systems left, SMF will have to keep the hour offsets as a backup, but for PHP 5.3+ must use the timezone names.