IMO, the best solution for a media center at this time is to use a client-server setup. The client can be a fanless, diskless streaming device with a remote controllable UI. The server would host the media as well as handle recording duties if you want PVR functionality.

This will be the lowest cost solution and the cleanest looking install around your TV. To have something perform as well using only a single computer will require a pretty expensive fanless case, internal hard drive enclosures for that case (for noise and heat dissipation), a super-fast processor coupled with a super-fast graphics card with the ability to assist the CPU with the video decoding. I suppose you might also be able to find a dedicated decode accelerator board. It's pretty expensive (in CPU power) to decode high resolution H.264

The client streamers use integrated chips with support for decoding a number of video and audio formats, coupled with features for HDMI output as well.

There are a number of playback-only devices available for streaming with even more on the way. Notable ones are from Netgear, DLink and of course Popcorn hour which has been mentioned before. SageTV just released their new box which can now be used without a SageTV server. The only one that I know of that can also play live TV and directly control recording software on the server is SageTV's product. Though Windows Media Exntenders might also provide this capability for MCE. Not sure if there's something else out there to do the same thing with MythTV and the like.

I've ordered a SageTV Media Theater and will disconnect my SageTV computer/server from the TV as soon as it arrives. This means I can also stop running the SageTV front-end application on that system, leaving it only with the recording service active and more free CPU time.
_________________________
Bruno
Twisted Melon : Fine Mac OS Software