Xorg + screen + vim has an issue where vim's input/output get trashed when you kill Xorg, restart Xorg, and screen -R. I tested the following:
I worked around this with this snippet in my xinitrc:
ls /tmp/screens/S-${USER} 2>&1 >/dev/null && { screen_arg="-R" screen -p 0 -X kill screen -X screen -t vim /opt/vim-7.3/bin/vim --servername local $HOME/etc/notes.txt }
A cooler solution would use vim's mksession to save state. I don't need that as this is just to handle me (auto-)logging out of X. Although this did make me update my vim python scripts to python3.