3DS, easily. DS was a better system then the GBA, and the 3DS can play DS games. In addition to DS games, 3DS also has an eShop that blows DSiWare out of the water. The system's significantly improved technical abilities allow for more complex games and a more varied library, not to mention games with superior production values. Also, I honestly have more fun with the 3DS. The system is less concerned with utilizing the touchscreen as a gimmick in various games, and instead uses them naturally. It's got a genuine (and great) 3D Mario platformer, Smash Bros, the best and most user friendly Fire Emblem ever made, graphically updated ports of Star fox 64 and Ocarina of Time instead of lesser, more gimmick focused sequels, it's got Kid Icarus Uprising (the best and most content filled handheld action game I've ever played), it's got the best Pokemon game in a decade, it's got a creative and diverse indie scene that includes games like the Guild series, Steam World among others. It's actually DESIGNED for 3D games and has a great analog stick. It's got graphical abilities an network capabilities that allow it to run genres DS couldn't even dream of, allowing for games like Resident Evil Revelations, Dead or Alive Dimensions, Ace Combat Horizons, Street Fighter 4, and Donkey Kong Country returns. DS couldn't run these games, or at least not NEARLY as well as 3DS can. Not to mention we've also got those great streetpass games and functions, which encourage to bring my DS with me even when I've no intention of playing it.
And this is all on top of near perfect DS backwards compatibility. So yeah, 3DS is better.