Isso me fez ler e a resposta parece ser claramente insatisfatória, A referência SQL mais antiga que consegui encontrar (ANSI 92 disponível aqui ) na seção 4.4.1 Características dos números afirma que
O que deixa para a Microsoft qual dos dois eles escolheram implementar para o T-SQL e presumo que, por uma questão de simplicidade, eles escolheram o truncamento. Do artigo da Wikipédia sobre arredondamento parece que esta não era uma decisão incomum na época.
É interessante notar que, de acordo com a documentação que encontrei, apenas as conversões para inteiros causam truncamento, as demais causam arredondamento. Embora por algum motivo bizarro a conversão de
money
para integer
parece contrariar a tendência, uma vez que é permitido arredondar. From To Behaviour
numeric numeric Round
numeric int Truncate
numeric money Round
money int Round
money numeric Round
float int Truncate
float numeric Round
float datetime Round
datetime int Round
Tabela de aqui .