第一句分析正确.
第二句by which就是by which time,因为主句有一个time,为避免重复就不说time了.
when一般用作疑问副词;但有时也可用作疑问代词,作since, until, up to 等少量几个介词的宾语,如until when, since when, up to when.
按道理来讲,第二题的by which time就是等于by when.但语言不仅要讲道理,更要讲习惯.再合乎逻辑的说法,如果大家口头上都不这样说,那也只能认为它是错的.by when这种说法目前我还没见过.