This issue isn’t exclusive to WaveLab but I guarantee this will solve your problem, it’s how I render every montage, overlaps or not, just to be safe. You don’t have to do any micro-fades or anything weird. I don’t think you have a zero crossing issue. While zero crossings are ideal for when skipping to a track, you can put the track ID in the middle of the biggest kick drum ever and avoid a glitch when played straight through if rendered properly.
When you’re happy with the sound, marker placement etc, render the Whole Montage as one long file to lock in all plugin processing. I personally save it as a floating point WAV to account for additional sample rate conversion and other flexibilities but either way, render the Whole Montage as a single file.
There are render options that will create a montage from the resulting file, and copy over all the markers, CD-Text, etc. Everything is the same as the source montage, but the processing is locked in so no plugins (other than dither) are needed.
From here, you can render seamless WAVs of each CD Track. I can even do this with a dither plugin inserted, I’m guessing because it’s less CPU demeaning than a limiter.
What I can’t account for is if you’re using the Resampler in the global master section but as long as there are no plugins involved with the track by track render, it should be OK. Even Goodhertz Good Dither is OK to use here.
If you do need to get to a lower sample rate, I suggest using an external program to downsample the continuous render with the processing locked in, resample to the desired sample rate, use the Custom Montage Copy feature to create a new montage from the resampled file, and all is good.
How I double check for gapless/seamless WAV rendering is to make a new montage, load in the WAVs with 0 seconds spacing between them, and play the files. If you don’t hear a tick or pop as it plays from one WAV to the next, all is good.
Let me know if any clues in there help to get it sorted out.