Ed - that is strange that your VAJ reverts back to its bad habits after a period of time. I don't have a solution, but I'll take a stab at what's happening to you.
Perhaps VAJ looks at an internal variable to determine the location of the driver. If that variable isn't set, it looks at some environment variable for the driver location and sets the internal variable accordingly. Now let's assume that the value of the environment variable is
wrong.
Next, WTE is fired up. WTE looks at the same internal variable for the driver location. If the internal variable has not been set, WTE looks at a different (correct)environment variable and sets the internal variable.
If all these assumptions are correct, it would explain why the steps you took to correct the problem worked. Since VAJ couldn't see db2java.zip, it did not set the value of the internal variable. Now when WTE sees that the value of the internal variable was not set, it does its own look up and (now since you re-named the filed back to db2java.zip), it correctly sets the value of the internal variable.
Are you guys buying this so far?
Next, fast forward in time a few days/weeks/whatever. Something wacky happens inside VAJ/WTE that causes the value of the internal variable to be set to null. Now the process happens all over again!
If this is what is actually happening, the question is why is VAJ looking in the wrong place for the value of db2java.zip??? Perhaps you have correctly set the classpath in WTE, but
NOT set it in VAJ!
So Ed, have you set your classpath in both Windows/system -> advanced tab ->set environment variables? How about in WTE/Servlet engine -> set environment variables? Is there another place in VAJ (not WTE) that you need to set the classpath?