1. Try X2.5035 as the BIOS. It has the advantage that its behaviour can be configured from a text file on the hard disk, rather than having to be edited and reflashed.
2. I wouldn't use XBMC as a dash - I know I'm in the minority here, but hear me out! XBMC is an excellent application that is actively developed and updated on a regular basis. Trouble is, each subsequent release introduces bugs, some worse than others. This is exacerbated by the fact that it is now multi-platform, and the Xbox doesn't seem to be the primary target any more. If you use it as your dash you introduce these potential bugs into your primary means of launching your Xbox - the dashboard. Now, to get this into perspective none of the updates in the last year has rendered XBMC unusable, it's just hassle if you install it to find that something you use isn't working very well and you have to revert to your original dashboard.
For the avoidance of doubt, I'm not bashing XBMC - it's the primary reason I run Xboxes (95% of the time my Xboxes run XBMC), and it's a superb application, and it works well, and I'm very grateful to the developers for all of their effort.
But, IMHO you're better off running UnleashX as your dash. It is stable, its bugs and workrounds are well known, its menu is easily user configurable, you can password protect parts of the menu to keep people away from bits you'd rather they didn't fiddle with accidentally. You can then run XBMC as an app - I put it first on my menu, and have it mapped to the A key as a shortcut. Importantly, you can install new XBMC releases alongside your existing ones while you try them out, and make the switch once you're happy that the new release does what you want, without having to change your dashboard. You can do that with XBMC as your dash (especially if you use the shortcut to launch it), it's just a bit more hassle.
3. There's a list of XBMC supported formats here
, but at the top end (complex codecs or high resolutions) the Xbox lacks the horsepower to do them justice.