I know exactly how frustrating this can be. I have been through it with my nieces and nephews. It seems that they and your step-daughter have something in common...
It seems your step-daughter's mom is missing. She's being raised by her grandparents, who I'm guessing are much older than all her friends "parents". At her dad's house, she has to try to fit in with another family that she isn't really, truly a part of. She is a part-time kid with her own dad. While her dad is raising 3 other kids, he isn't raising her. Her real parents have basically left her to be raised by someone else.
Please - I am making no judgements here. Like I said, I've been through this type of behavior.
Please try and remember that for every action, there is a reaction. Your step-daughter is just 9 years old. Part of her irresponsibilty is her age. I'm also guessing that she has a LOT that goes on in her young little head.
It would not be fair to her if you and your husband just stopped buying her things. Remember, she deserves the same unconditional love as the other 3 children. How about just buying her cheap clothing as gifts? Don't spend a lot of money on her gifts until she can learn to be more responsible. Also try to keep in mind that it would be just awful for her if, say, you were to give the other children an X-box for Christmas, while she gets a t-shirt.
Are the other children in your home your biological children? Somehow it seems through your statments that those children are 'better'. "They" take care of their sweatshirts and make sure that it is put up. Your seven year old is more responsible... These are two different people. Just because your seven year old is more responsible doesn't make her a better child.
I'm sorry, but, why would your husband buy an 8 year old $40 earrings? Maybe she took them off because they were hurting her ears! She is a 'little' girl! Save the expensive gifts for later. Stop trying to find reasons to complain about her. You sound just like a step-mother!
R. - I am not trying to be hateful here. But, please, give this little girl a break. She's still learning. Her mom isn't in the picture like she should be. She's a little girl without a mom.
Of course her grandparents spoil her. They are all she has! They have obviously already raised their children. They are probably tired. I'm sure there are lots of logistics to the little girl not being with her own parents, so nobody should judge.
Try not to judger HER so harshly. Remember when you were 9? Give her a break. She really deserves one.
I really wish you and your family a lot of love, luck and patience! She may be difficult right now, but, I pray that you take her under your wing and give her much more love and support than what she is used to getting. She needs unconditional love and approval from you most of all. You are the only decent mom she's got.