The principal question, which seems to be why the OP's code does not work, has been answered by Timothy Wofford, but I thought the following alternative to plotting the tangent plane might be appreciated, since it deals with the underlying problem in the question.
The equation of a tangent plane to $z = f(x,y)$,
$$z-f(a,b)=f_x(a,b)\;(x-a)+f_y(a,b)\;(y-b)\,,$$
has the same form as the differential $dz$,
$$dz = f_x(a,b)\;dx + f_y(a,b)\;dy\,,$$
with finite differences corresponding to the differentials.
This idea is easy to code in Mathematica. The first form of the function tp below is for an equation. Indeed it can even be an equation of the form $F(x,y,z)=0$. It returns the equation of the tangent plane at {a, b, c}. The second form is for a function $f(x,y)$. It returns a linear expression in x and y that can be viewed as representing a function whose graph is the tangent plane. The standard coordinates x, y and z are assumed.
tp[eqn_Equal, {a_, b_, c_}] :=
Dt[eqn] /. {Dt[x] -> x - a, Dt[y] -> y - b, Dt[z] -> z - c, x -> a, y -> b, z -> c};
tp[expr_, {a_, b_}] :=
expr + Dt[expr] /. {Dt[x] -> x - a, Dt[y] -> y - b, x -> a, y -> b}
The equation of the tangent plane:
With[{f = 10 - x^2 - 2 y^2, a = 1, b = 2},
tp[z == f, {x, y, f} /. {x -> a, y -> b}]
]
(* -1 + z == -2 (-1 + x) - 8 (-2 + y) *)
The function whose graph is the tangent plane to f:
With[{f = 10 - x^2 - 2 y^2, a = 1, b = 2},
tp[f, {a, b}]]
(* 1 - 2 (-1 + x) - 8 (-2 + y) *)
A tangent plane to a surface defined by an equation:
surf = (x^2 + y^2 + z^2)^2 == 18 x y z;
ContourPlot3D[Evaluate@{surf, tp[surf, {1, 1, 2}]},
{x, -2.5, 2.5}, {y, -2.5, 2.5}, {z, -2.5, 2.5},
ContourStyle -> {Directive[Opacity[0.8], LightBlue], Directive[Opacity[0.5], Red]}
]

zx[x_,y_]:=Evaluate@D[...]is the same aszx[x_,y_]=D[...], but I think the later is more concise (ifx,yare undefined). – VF1 Oct 24 '13 at 03:37