I think that the problem was strangely fixed by turning the computer off (with power button) when Team Fortress 2 had loaded at 1280x800. For anyone who wants to try this to fix their problem, keep launching with no parameters (no -w 1280 -h 800 etc). Half the time it will load at 640x480. Launch it until you get 1280x800, lock XP (that's how mine was; I have the Ctrl-Alt-Delete combo enabled) and turn it off. I've rebooted 5 times since and it's been at 1280x800 each time.
Fixed: Go to device manager and change all displays from LCD ([resolution]) to Plug and Play. This enables programs to detect the native resolutions; otherwise, Windows just tells everything [resolution].