That still feels like a bug to me. On unix, time_t is a signed quantity, to allow times before the epoch to be represented (hence the Unix apocalypse is due sometime in 2038, when the 31-bit overflow happens).
I wonder if this is a windows bug, perl-on-windows bug or activestate bug?
Comment on Re^3: timelocal() rejects string-derived input