Lisa, it sounds like your instincts were correct with this little girl. You redirected her and rewarded her for doing something positive.
One thing you don't want to do with oppositional kids is use "if/then" statements, because that leaves them the option of not doing it and leaving you with a "what if I don't, then what?" situation. Luckily it worked this time with her taking her medicine, but the grandmom should try to avoid using "if you do..." statements as much as possible. You want to use "when you..../then you..." statements.
As far as the one-month good behavior goal, maybe getting a calendar and some stickers that she likes so she can track her progress would help. She agreed to it yesterday, but 30 days is a long time for any kid.
My daughter isn't hyperactive, but does have a horrible attention span. Something that helps with her when she's trying to do homework and stay on task is a timer. I got a digital one at Wal-Mart for $5 (Baker's Secret brand). She would set it for 15 minutes, and at the 10 minute mark it beeps 3 times and at the 5 minute mark it beeps 4 times, so it was reminder that she was making progress, even if it was only in 5-minute increments. With a kid who can't stay focused for 2 minutes on an unpleasant task, 5 minutes is a major improvement.
My son can get a real attitude sometimes. I always want to stand there arguing with him to go to his room or leave the person that he's bothering alone, but it just makes everything worse. You need to ignore the bad behavior. If you give them attention of any kind, good or bad, they're just going to keep up the destructive stuff because it's getting them attention, right? I'd try turning my back to her when she's throwing a tantrum or destroying things, walk out of the room if possible. Don't make any eye contact or talk to her. (I'm finding kids are a lot like dogs in this regard. If you don't give them attention for bad behavior, they'll stop what they're doing to come up to you and get it in a calmer manner).
Good luck. Hopefully your stepping in and taking action will get the ball rolling so they'll get the help they were told they'd get.