Немного менее элегантно - но самодокументируется?
select DATEPART(MILLISECOND,d)+1000*(DATEPART(SECOND,d)+60*(DATEPART(MINUTE,d)+60*DATEPART(HOUR,d)))
Я думаю, что это также ведет себя по-разному при переходе на летнее время - что может быть хорошим или плохим в зависимости от требований.