After upgrade 6.1 -> 6.1.92 kdm ceased to load user's and system Xmodmap file. The problem is related to fact that Xsesion file attempts to set xkb map first and incorrectly sets flag that xkb is in use. This happens because sysxkbmap (if I remember correctly) shell variable is unassigned and is not quoted in if statements. For some reason bash treats "[ -f $sysxkbmap ]" as true under this circumstances. The problem probably also exists in xinitrc. The simplest solution - quote all variables in scripts.
fixed in XFree86-3.3.6-14 and later.