Think about it. If you have a random face normal, and scale it by <1, 2, 1>, the resulting normal has it's y value increased, when it should decrease instead.

Think about it. If you non-uniformly scale, the normals don't get
transformed the same way. Draw a couple of examples on paper to convince
yourself. To properly transform normals when you have an abitrary
matrix, you need to multiply by the inverse transpose. (You'll note that
in the case of an orthogonal matrix, i.e. one with just rotations, the
inverse transpose is exactly the matrix you started with - as expected).

Tony Cox - Development Lead, Hockey
Microsoft Games Studios - Sports
Z.