Mathematica 8.0 running on Windows 7.
The documentation of Plot3D states that
"Plot3D has attribute HoldAll, and evaluates f only after assigning specific numerical values to x and y."
The notebook "example.nb" (attached) shows that this is not correct. Plot3D attempts to evaulate the target expression symbolically.
This should be fixed ... either the documentation or the code of Plot3D.