Symbolical hell?
well..
/usr/X11R6/lib/X11/xkb/compiled is a link pointing at /mnt/old/usr/X11R6/lib/X11/xkb/compiled
/mnt/old/usr/X11R6/lib/X11/xkb/compiled is a link, pointing at ../../../../../var/lib/xkb
following the first link, to the second, leaves you in a path relative to the second links home, which is the read-only place "/mnt/old/var/lib/xkb" instead of the relative to the first link "/var/lib/xkb" that is writeable.
Lesson: Relative and absolute links don't mix well.