Tried removing .Xauthority but still no go.
I've tried changing the login manager to gdm and it still failed but this time I got a small box saying the session had only lasted 10 seconds and it asked if I wanted to view a log (I've forgotten what it was called).
I chose yes and got this line -
mkdtemp: private socket dir: permission denied
Make any sense?
[EDIT] I've done some googling and found the answer - the permissions were wrong on the /tmp directory which was fixed by doing chmod 1777 /tmp
I don't know how the permissions got changed but everything seems to be back to normal again now. Problem solved.