timezone support breaks _before_type_cast method

Some code in my current project validates date time format using
_before_type_cast method. But after adding "config.time_zone = "UTC" in
environment.rb, we can't get string raw values of some date time columns
using _before_type_cast.
for example,

p = Person.new(:name => 'sean', :birthday => '1989-01-23')
Mon, 23 Jan 1989 00:00:00 UTC 00:00

=> ActiveSupport::TimeWithZone

now birthday_before_type_cast returns value of type:

Is there a method to get the raw value of date time column in this case?
By the way, is this a bug of rails 2.1.0 or the right behavior?