M.,
It sounds like the sunscreen you are using is causing the stains. An option would be to lube her up in clothes you don't mind getting icky and then 15 minutes later, after the sunscreen has dried, put her into her "going out" clothes.
I just switched to Burt's Bees sunscreen, and even though it is expensive it doesn't have the petroleum based chemicals that can cause health problems later on. We did not see any staining with this product, so it might be something to consider. It is more of a hassel because it is a cream rather than a spray, but I feel more comfortable putting something on my son that has natural chemicals rather than man-made chemicals.
A final thought, children and adults need a certain amount of vitamin D every day. Our bodies naturally make this chemical when our skin is exposed to the sun. You might want to think about leaving the sunscreen off for the morning and then putting it on her in the afternoon, during the most dangerous part of the day.
Good luck!