Are you running on a traditional HD install? If so, does the XFree86 binary have setuid set?
I have run traditional HD install and instaled XFree86 through DSL's control panel. I didn't find "dpkg-reconfigure xserver-xfree86" there, so later I installed XFree86 using "apt-get".What's the output of: ls -l `which XFree86`
and
ls -l /var/log/XFree86.*.log*> ls -l `which XFree86`
-rwxr-xr-x 1 root root 1746636 Jan 7 2007 /usr/bin/X11/XFree86
> ls -l /var/log/XFree86.*.log*
-rw-rw-r-- 1 root root 26893 Dec 12 18:03 /var/log/XFree86.0.log -rw-rw-r-- 1 root root 26893 Dec 7 16:54 /var/log/XFree86.0.log.oldokay, your X server isn't suid root.. Set it with "sudo chmod u+s /usr/bin/X11/XFree86"
original here.