>How do I force matrix multiplication to actually occur, as in the >second answer? Why does Mathematica do the matrix multiply in the >second case but not the first?
You seem to want Mathematica to treat two separate symbols (Dot, CenterDot) as being the same out of the box. This simply isn't how Mathematica is designed. CenterDot is used in Mathematica to represent an action not something that performs an action.
It is possible to create definitions for CircleDot so that it will behave as you appear to want using the Notations package. But in my opinion, this isn't worth the effort required.