I can confirm that both methods of forcing the X server to use vt7 fixes (or works around) the "keyboard not working sometimes" problem. The problem seems to be due to a race condition during the boot process. Without this directive, kdm starts X on the first free virtual terminal. The problem here is that this happens in parallel with the getty process setting up login ttys on vt1 through vt6 (with the default /etc/inittab) and sometimes kdm grabs vt2 before getty, but getty then grabs vt2 and hence gets the keyboard input instead of kdm/X. This may happen on any of vt2, v3, ... vt6.
If kdm is restarted without a reboot, the problem does not occur since the vt's are already occupied. Perhaps the correct way of fixing this is to ensure that kdm is not started until getty has grabbed all the vt's it need. This would then work regardless of how many vt's are allocated in /etc/inittab.