I'm using a Windows 8.1 Surface Pro 1.
I've had this same problem using Windows XP, Windows 7, and Windows 8 in the past, however I don't remember how I solved the issue.
I setup my keyboard so that pressing ALT+LEFT SHIFT+# allows me to switch languages. This is what the configuration looks like.

However, whenever my system boots up again, it returns to the following configuration.

How do I stop this ridiculous behavior?