A couple things:
1) When you do this:
m = {{1,2},{3,4}}//MatrixForm
m is no longer a matrix, it is a "Form" and
m.{x,y}
will not operate as you might expect.
2) It is much easier to debug if you put your input into separate Input cells and evaluate one at a time.
I've rewritten things here:
X = {X1, X2, X3};
x = {x1, x2, x3};
Eulerian = {e^-\[ScriptT]*x1 + 0*x2 + (e^-\[ScriptT] - 1)*x3,
0*x1 + x2 + (e^-\[ScriptT] - e^\[ScriptT])*x3, 0*x1 + 0*x2 + x3}
I suspect you want Exp[..] or E^(..) instead of e?
It is a good habit to define your own symbols with lower case letters.
ca = CoefficientArrays[Eulerian, {x1, x2, x3}] (*same as CoefficientArrays[Eulerian, x]*)
(nca = Normal[ca]) // MatrixForm
notice that the = is done before the output is turned into a "Form"
Also, you can just do this directly:
Inverse[ca[[2]]]
Continuing....
(tnca = Take[nca, {2}]) // MatrixForm (*do you mean nca[[2]] here? tnca has dimensions {1,3,3}, and nca[[2]] has dimensions {3,3} I'll keep working as though Take is what you want*)
q = Flatten[tnca, 1]
q has dimensions {3,3} now
qInv = Inverse[q]
You are redefining x here.
x = qInv . X
And this gives an expression:
D[x,-\[ScriptT]]