I fancy myself a pretty good amature auto detailer. Here are a few products I have found in my detailer supply that work better than anything else for hot tubs.
First and foremost is a product that I'm sure many of you are already familiar with - Aerospace Protectant 303. I use this on the interior of my truck, including the coated leather seats. This is the perfect vinyl protectant for your spa cover. The UV protection can not be beat and it helps a little with resisting dust and pollen - as long as there is a breeze that can blow it away.
For the acrylic, I like to apply a coat of Klasse AIO (All In One) auto polish to make it look slick and sparkling. It must be applied very thin and buffed. Do a section at a time and do not let it dry too much. AIO is acrylic/polymer based and can haze if you are not careful but WOW what a shine!! This is one of the top auto paint cleaners in the world but is very mild in terms of abrasion. It is mostly used to "prep" the auto paint for a more durable sealant or wax but for a hot tub, no further last step product needs to be applied.
If stains are present, a general purpose Quick Detailer spray such as Poorboys Spray and Wipe will do the job and do it gently. If the stains are mostly at water line, after cleaning with the SW, use a product known as Wolfgang's Acrylic Spray Sealant. Just spray it on the top foot or so of the spa and buff it dry. You will find that the "water line" marks will be much slower to form after this treatment. All these products can be found at various internet detailer sites. Just do a search on google and you'll find them.
I know a lot of people will think I'm nuts using this stuff in a tub I will put my body in but as long as you buff properly and rinse well any residue you won't have a problem, at least I don't. These products are effective, can be used for many household applications, especially in baths and kitchens, and lest we forget, what is left over will make your car look good too.