It sounds like you need to set clear boundries. If she says she'll get them in a few hours, how does it turn into 24 or 48? Are you saying she just doesn't come get them and you can't contact her? Or does she call and say "would you mind keeping them a little longer" and you say "sure, how about if they spend the night?" You really need to make sure that you are not giving her the OK for this unintentionally. That being said, set some clear boundries. If she wants you to watch the kids for a few hours, ask specifically what time she'll be back to get them. Tell her that you have plans, things to do, or just need some rest, so you have no problem watching them until 2:00, but she will need to pick them up by then. If she doesn't come by 2 and etiher calls and asks for an extention, you need to be very specific again. "I'm sorry, I asked that you be back by 2, I really need you to respect that" If she just doesn't come at 2 and instead comes at 4, say the same thing, and the next time she asks simply say "I'm so sorry. I would REALLY need you to be back by 2 and last time you totally ignored that, so I just dont' think I can watch them today. It's going to be hard to confront them, but I think an honest, simple request like "get your kids by 2" should be respected, you are doing them a favor. As for the house being ruined, again, you need to set the boundries with the kids. As they play, make sure they pick up one thing before starting another. Depending on the ages, this may be harder and more hands on work for you than if they are younger, but my kids had friends over and got popcorn all in the garage and took out towels and had them all over, and I just stopped their playing and asked them if they thought how they left that area was acceptable. They all looked at me and went to pick up. They should know better than to get it that way to begin with, but a simple reminder put them back on track.
Good luck. SET BOUNDARIES!