The following generates a 3dpoint plot of the maxima on the 3dplot. If you rotate the plot you see that some of the points are just above the surface and some just below. I suppose this is due to slight numerical inacuracy finding the maxima.
spq:=proc(w) # simple procedure to ease the generation of points to plot
q:=diff(subs(ga = w, TSales),delta):
prq:=proc(x) return eval(q,delta=x); end proc:
end proc :
p1:=plot3d(TSales, delta = 0 .. 2,ga = 0 .. .5, axes = boxed):