My current setup is a mish-mash. I've got a TiVo Series 3 for DVR functionality, but I guess that's not an option for you. I've got an AppleTV, hacked with Boxee (a derivative of XBMC) for everything else.

A stock AppleTV is really good at streaming audio. It plays nicely with an iPhone running Apple's free "Remote" app, which lets you remote control iTunes on your server machine, which then sends the audio and metadata (including album covers) to your AppleTV.

A stock AppleTV is damn near useless for video, unless you've got it encoded in precisely the limited H.264 format that Apple supports. When you hack it with XBMC/Boxee, that all changes. Boxee uses the main CPU to play video. There's almost-but-not-quite-enough horsepower to play DVD images and most any standard-def video you download from the Internet. Officially, they'll say they can handle anything under 3.5Mb/s. What they won't say is that they have occasionally unacceptable judder and poorly implemented deinterlacing with, so far as I can tell, no way to just output 480i and let your TV set deal with the scaling. Boxee completely fails if you give it an HD stream and ask it to play it. It will keep the audio going, but you'll get two frames per second, but this would presumably not be an issue if you were running Boxee on a machine with more horsepower. (Boxee/XMBC also runs on Linux, among other options.)

My thinking is, when Apple releases whatever update to the Mac Mini at MacWorld, I might repurpose my old Mac Mini as a home theater PC, letting me use Apple's own DVD player, which can handle a directory of VIDEO_TS files just fine and without any of the issues of Boxee.