Thanks for your help.
I was able to use the Derivative[n, m][z] function to find the gradient of the InterpolatingFunction. Your answer did tip me off that the Grad would not work and that I have to form the gradient from derivatives. However I didn't have to go as near a scratch method as you were suggesting.
Working with these Interpolating Functions is confusing. First one has to take a part of the returned rule(s) ([[1]]) to do anything. One then gets the Interpolating Function which is a very complex list hierarchy. Then to take the derivative of the Interpolating Function, it is not clear if one has to include arguments next to the head ([x,y]) to which the derivative Interpolating Function is being assigned or next to the Derivative function containing the original Interpolating Function List or both or neither. Then to top it off it is not clear if one has to include arguments next to the head in the derivative plot function call. I tried all the variations and discovered that to get a plot of the gradient I had to not include arguments when forming the derivative but I had to include them when doing the plotting. Further, when I formed negative derivatives (put a minus sign in front of the Derivative Function or in the Derivative Function function argument, I never was able to get numbers or a plot with the result. I still don't know why. Like so many areas of Mathematica, the documentation just doesn't cover all the contingencies and things become a trial and error guessing game. This is a key reason why Mathematica sits on my desktop as a high powered calculator instead of a serious programing and modeling tool. I just don't have the time to constantly discover what should have been clearly documented in the first place.