Thanks. You were correct. There was nothing wrong with the scale dependancies or exportOptions parameter.
It turns out that there was another layer that was being drawn which looked identical to the layer that I thought I had scale dependancy issue. I did not expect this layer to be drawn because of the filters I set in the Query Definition. However, my Java Script added a new filter using a layer definition. It looks like the LayerDefinition overrode the query definition in the MXD. I thought it would just append to it.
Anyway, my problem had nothing to do with scale dependancies or exportOptions. My problem was that I did not understand how layerDefinition interacted with Query Definition in the MXD. I am not sure why it worked correctly in the Java Script interface, but did not work in the Print Task. It doesn't matter though, since I was able to fix my code by appending the original query definition in my layer definition. Once I did this, I got consistent results.
Thank you for your assistance.