I have had some success by sending the GNU/screen process a SIGCHLD (which it normally receives when a window is closed), this forces it to touch (and possibly recreate) the socket file.
Also note that there are two ways to invoke the
screen executable that only differ in case:
SCREEN is the server-side component you are attempting to reconnect to, while
screen is the client-side that shuffles data between your terminal and the server-side. So you might want to try killing the lower-case version...
For instance in the following you can see that my
SCREEN processes are not considered to be parent and child, indicating that I have attached to an existing session.
# ps fao pid,command
25070 SCREEN -U
25071 \_ vim +let &t_Co=256
25073 \_ -bash
25077 \_ -bash
18364 \_ sshd: username [priv]
18366 | \_ sshd: username@pts/17
18367 | \_ -bash
870 | \_ screen -U -x
Fresh sessions look more like this:
19645 | \_ screen -S MySession
19646 | \_ SCREEN -S MySession
19647 | \_ bash
1485 | | \_ python
19700 | \_ bash