I’m assuming that XBMC is using external (Windows) codecs. I’m pretty sure MPC uses it’s own codecs, so that could explain why MPC is able to play them back. You may actually have a codec issue.
SageTV can do what you’re asking about, but it isn’t free. It does have a free 15 day trial, however. The fanart and scraping are done via free plugins you can add through the UI.