I think it's somewhere else in the process.
Perhaps you should go back to basics. Wash a car with a simple shampoo like Hyper Wash; waterless washes may include gloss enhancers and other products that may interfere with proper cleaning. For the same reason, use a body shop-safe lubricant while claying, such as Meguiars M34, and clay the glass just like you do the paint.
As others have mentioned, perhaps your towels are the culprits. Are you washing them with a microfiber cleaner or a "free and clear" laundry detergent? Rinsing twice? Have you added vinegar to the first rinse?
Have you tried polishing the glass with a body shop-safe cleaner (a compound like M04 or M105 would work well)?
D120 is a really effective cleaner for dirty glass. As an alternative test, how about just using it to clean a dirty windshield without all the detailing steps? Assuming your waffle-weave towels are good and clean, it should get the windshield squeaky clean, and free of any of the annoyances you've described.