for those of you wanting to start xbmc automatically, here's what i did:
(warning: this involves registry changes, so you should at least have a clue what you are doing)
- create a dedicated user to run xbmc and make windows login that user at startup
(not sure how to do this in win 8, since i upgraded from 7 and this part was still functional afterwards. google is certainly glad to help out here...)
- login with that user and go into the registry (run regedit.exe)
- locate the key HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
- add a new string value, name it "Shell" (without the quotes)
- change the value to let it point to your xbmc.exe
(e.g. "C:\Program Files\XBMC\XBMC.exe", with quotes if you have blanks in your path, you can drop them if not)
- close the registry editor and logoff
next time you login with that user, xbmc should come up directly, without going through metro or the desktop first. this saves time, memory, and looks nicer too
another useful tip:
when you start xbmc like this, and close it, you'll probably end up with a black screen of nothingness. the only way now is to ctrl-alt-del and logoff, or go into task manager and load explorer.exe manually (aka the default windows shell).
to get around this, i made a small .bat file to load xbmc, and do a shutdown /l (=logoff) afterwards. use this bat file instead of xbmc.exe as your shell. now, when you close xbmc, windows goes back to the welcome screen. this isn't perfect either, because the .bat gets loaded in an ugly black window, but it will have to do for now.
used this strategy on windows 7 for the past few months, without any problems. upgraded to windows 8 last weekend, didn't notice any problems since then.