You know, I think Mary Astor ruins this movie myself. For the reason you mention, and also, she just isn't attractive enough to fit the part in my opinion.
I disagree. Having finally read the book a few years ago, I can see what you mean. She's at least 10 years older than the Brigid in the book. But that makes her character more interesting. In the movie she's a woman in her 30's who was always used to manipulating men through her looks, but now she's getting to the point in life where she realizes she won't be able to do that much longer. It makes her rather desperate. She perhaps sees Spade as her "last chance" in a way. This adds a whole new dimension and richness to a character who, frankly, in the book was just a cardboard cutout femme fatale.