The problem with this thread is that none of the people SUGGESTING projects have a single clue about how the Nintendo DS operates - obviously, because otherwise they'd be writing the projects themselves. (There are some exceptions clearly, don't get you're panties in a bunch)
Lemme throw out some problems, complexities and general information to help the community better understand what is and is not possible with the DS at the moment.
Rules Of The Game:
Nintendo DS Operating System.
Unlike the PSP, the DS does not have a resident operating system. Once an application is launched, the firmware is overwritten in memory with the running application. In addition, any automatic features (such as a child lock key combination) requires a modification to the device's firmware. A daunting task, and one not easily completed on newer DS models. (Simply loading the new firmware requires shorting several pins to bypass a safety)
Custom Firmwares.
Not impossible, but certainly quite difficult and rarely worth the trouble. And seeing as the hardware of the DS is still not FULLY understood, I'm not sure a custom firmware would be wise. It's rare you'd find a good reason to fully replace the default firmware. Besides, it's becoming increasingly more difficult with the newer model DS's on the market.
WIFI Limitations.
Many wifi-oriented applications are possible. The only thing to keep in mind is the very low bandwidth speed. Some genius decided to cap the maximum transfer speed of the Nintendo DS to a particuarly low amount. Without getting real technical, this can seriously limit it's capabilities. For instance, streaming radio at any bitrate over 48kbps or so CANNOT be streamed fast enough over the connection, so it spends lots and lots of time buffering. WIFI applications are great - just take into account transfer speed. You don't want to be copying ROM files back and forth. That also includes the bittorrent client. I'd love to see one, just remember it's going to be SLOW.
Multiple Applications.
It's been pointed out, but i'll reinstate it. The Nintendo DS can only run one application at a time. That means that once a program is launched, you can't launch another. That means no background music players, screen streamers or anything like that. I'd love to see it happen, but the DS just isn't designed that way.
EXCEPTION: There's one possible exception, but I see no sign that it's ever been attempted. Some of the cheat engines for the homebrew cards support 'real time cheats' and soft rebooting with a key combination. I suspect when enabled, these features tack on additional code to the ROM before launch - this explains why these features sometimes (but rarely) cause problems with the ROM themselves, causing weird glitches and freezes. They work for the most part. This leads me to believe that it's possible to write a program to 'wrap' a ROM before launching it, and run a little bit of your own code at the same time. I'd love to hear if anyone thinks this is possible, or has tried it.