Hola...
Es extraño...si te he entendido correctamente, tienes un query que te arroja como resultado un número sin decimales y si lo cambias sigue del mismo modo.
Yo tomé tu consulta Select cast(34.453 as decimal(10,2) ) y la ejecuté...el resultado inmediato en el generador de consultas fue 34.45
¿Estás usando una búsqueda formateada? Porque si fuese el caso, entonces revisa en qué tipo de campo estás dejando el valor.
Sería bueno si puedes dar algún dato adicional.
Saludos cordiales,