I was having the exact same problem starting X under the newest Cygwin release. I also found this very frustrating as I have been running X for quite some time with no problems, then *boom* it suddenly broke.
One option that worked for me was to downgrade to the previous version of the DLL (backout 1.3.13-2 to 1.3.12-4). This is simple to do using the setup program but is not a long-term solution. I am not an expert on this, but some research revealed that 1.3.13-2 has turned on the "ntsec" option by default. If your computer is in an NT domain, this affects you. To check, compare the UID/GID reported by your "id -a" command with the ownership of your existing files "ls -ln $HOME". If they don't match, you need to update your /etc/passwd and/or /etc/group files. You can do this by replacing the <yourusername> entry in /etc/passwd with the output of "mkpasswd -d -u <yourusername>" and updating /etc/group with the output of "mkgroup -d | grep :<yourGID>:" (note that the angled brackets are meant to indicate variables and are not literally part of the commands). This is not really an XFree problem, rather it is a global Cygwin issue caused by a policy change that took most people by surprise. Hope that fixes your particular problem, Andy