The docs link to a list of valid time zone choices. I think TIME_ZONE = "Etc/GMT-8" should do what you want.
The change you mention is a bugfix for #3415 introduced at r13722. It reveals the problem, but the root cause is still the fact that your TIME_ZONE setting is invalid. It isn't a bug in 1.3; the bug really was in 1.2 who should have warned you already.
Historically, Django hasn't sufficiently validated the value of settings.TIME_ZONE. It must be a timezone your system knows (ie. a file in /usr/share/zoneinfo) for time.tzset() to work properly. It must also be a timezone PostgreSQL knows if you're using the PostgreSQL backend.
I hope this helps. Thanks for the report!