There is also a limit to how many simultaneous key presses windows will recognize. Another solution you could use would be letting one player use the mouse for movement. So you could set controls to be something like this:

Mouse player:

Move Mouse up = thrust
Move mouse down = brakes
move mouse left = rotate left
move mouse right = rotate right

LMB = fire laser
RMB = Torpedo

LMB+RMB = Cloak
RMB+MMB = Hyperspace

and so on. You should be able to detect both mouse buttons down at the same time (I know you could with DirectInput), and if not, let player one use the wasd and such, let player 2 use the num pad.