One of our favorite games on the site is called Civiballs. It's a game with balls that are hanging from chains. The kids are supposed to make the balls fall into the correct colored baskets by cutting the ropes to make the balls fall, roll, or bump into each other. You have to get the correct order and when cutting the chains you even have to time it right.
It teaches planning and problem solving (and patience, lol) and really cements the "if at first you don't succeed, try, try again" lesson. (The space bar resets a level and lets you try again - you'll see how necessary that is, lol) A lot of times it isn't apparent at first how to solve a level, but then as you try things, you can start to see how to make it work. And it can work on cooperation and teamwork too. It's also one of the few games that the kids will sit down together and make suggestions to each other and work together to figure it out.
All that while being fun and kind of addictive. I've even sat down without the kids to try to solve a level that they were trying to figure out.
If you'd like to give it a try, you can find it at: http://www.coolmath-games.com/0-civiballs/index.html