I think we should do the timezone selection mandatory on install, ending in CFG->timezone, and being used by: date_default_timezone_set() in setup.php
But that means that we should rebuild all out own TZ/DST stuff to use the 100% built-in alternative. It really shouldn't be complex (far simpler and quicker than current moodle implementation). But 2.0.x doesn't seem like a good place to do so.
Alternatively... without involving the complete switch, for sites having one correct CFG->timezone (Australia/Perth...), we could use it, for the rest we could get the 1st timezone available for the country or so... in fact it doesn't matter much because we are always storing timestamps in DB. And those are independent of that date_default_timezone_set() thing. 100%.
But in the long term... we must switch completely... just guessing how many cpu cycles are we spending on each time calculation... sure that a lot, the algorithms are really heavy.