Any time you are working with water spots, you are dealing with minerals from hard water. You need an acidic cleaner to remove them, not an alkaline cleaner like you have been using.
Caution with acidic cleaners out there, they work great on mineral deposits, but don't play well with glass or metal. Dwell time and strength of chemical are key to a good cleaning without causing damage. The acid Scott mentioned comes in a powder and you mix your solution on your own. Test some areas and find the strength that works best for you.
If you aren't a fan of mixing some nasty powders together, you can work with vinegar or dollar store toilet bowl cleaner. Test areas that you will be working with and find the ratio that works best for you. I always have a baking soda and water mix ready to go to neutralize the acid if it comes into contact with sensitive areas.
One other note, work out of direct sunlight and small areas at a time. Do not let the chemicals dry on your boat.