I think I figured it out: in the module/news/view.php file,
$post_date = gmdate(DATE_FORMAT, $post['posted_when']+TIMEZONE);
$post_time = gmdate(TIME_FORMAT, $post['posted_when']+TIMEZONE);
$publ_date = date(DATE_FORMAT,$post['published_when']);
you'll note the TIMEZONE hasn't been added to the published timestamp.
Try line 172
$publ_date = date(DATE_FORMAT,$post['published_when']+TIMEZONE);
Very, very strangely however, I happened to install the 18.104.22.168 update yesterday, dug through the code and changed the POST LOOP in settings to PUBL_DATE yesterday and it was Good - except for the hours. TIMEZONE didn't register on the brain at the time.
You might have to change date to gmdate too, I'm not sure because either have stopped working for me. Not sure why.
I saw message http://forum.websitebaker.org/index.php/topic,7700.0.html
that said to use PUBLISHED_DATE and I scratched my head and thought, "maybe I should try that instead."
It didn't work, but... now PUBL_DATE doesn't work either - I just get the text string!
Figured out why mine wasn't working - the replace string is [PUBLISHED_DATE] on the summary page and [PUBL_DATE] on the individual posts. That should be synchronized I think to avoid confusing us! I'm going to post those changes and another one separately.
About the wrong time, there seems to be something wrong with TIMEZONE - it shows a value of 0, even though I've set mine to various different timezones in Settings! Have to check on this.