$today = new DateValue();
$today = new DateValue(time() + get_user_gmt_offset($user));
Greg_TBone:Edit: The way this affects things is that when viewing a time report for time entered Today, the correct GMT offset doesn't get applied, so for us in Sydney, Australia (GMT +10), I still see time from yesterday for most of the day...
//$today = new DateValue();
$today = new DateValue(time() + get_user_gmt_offset($this->logged_user));