I don’t know about 2.49, but for 2.78 / 2.79 I think you have to use the Vector type instead of Matrix for a 4 x 1. The Matrix type can be multiplied by a Vector type though.
I believe the mathutils Matrix type is limited to 2x2, 3x3, and 4x4 and the Vector type is limited to 1x2, 1x3, and 1x4. For anything more complex you would have to use the NumPy module (added sometime late in the 2.6x series).