Aha -- the combination of your reply and Anonymous Monk's did the trick. I examined the headers directly and got this:
$ ./Bug.pl
Set-Cookie: login=Yz1jamd1SEMxYm43MHJsNDQramdTUDZFREJPUlU%3D; path=/;
+expires=1d
Date: Tue, 12 Mar 2013 15:24:49 GMT
Content-Type: text/html; charset=ISO-8859-1
The "expires" string should be an actual date string, not the offset "1d." The problem was that the offset needed to be "+1d," as shown in your example. I then get this:
$ ./Bug.pl
Set-Cookie: login=Yz1jamd1SEMxYm43MHJsNDQramdTUDZFREJPUlU%3D; path=/;
+expires=Wed, 13-Mar-2013 15:34:59 GMT
Date: Tue, 12 Mar 2013 15:34:59 GMT
Content-Type: text/html; charset=ISO-8859-1
Apparently most browsers accept a malformed "expires" value and make the cookie a session cookie as a result, but chrome doesn't accept such a cookie at all.