Hm, yes. There's something odd with the second argument of `+, however; adding them one at a time works:
object o=Calendar.Week()->beginning();
o+Calendar.Day()*2+Calendar.Minute()*480;
(1) Result: Hour(Wed 13 Apr 2011 0:00 CEST sharp)
o=o+Calendar.Day()*2;
(2) Result: Day(Wed 13 Apr 2011 0:00 CEST sharp)
o=o+Calendar.Minute()*480;
(3) Result: Hour(Wed 13 Apr 2011 8:00 CEST sharp)