Most likely, you should not be changing your Up vector. At least not in this instance where you simply want to move in the XZ plane and rotate about the Y-axis.
Also be aware that matrix multiplication is not commutative (ie, [wrlMat * matRot] is not equal to [matRot * wrlMat]). With that in mind, make sure you rotate your model before you ...