"screen -x" requires a session to already exist, whereas "screen -xR" will join one if it already exists, but will create one if it does not. At least it does in v4.00 which I use. If you have a "screen" call in your @reboot, you already have a session, so they will work the same.
The server should also be rebooted. Applying kernel updates makes no good if you never apply them!
screen -x is equivalent to screen -xR afaict:)
I'd also add @reboot screen to crontab, which will recreate a session on startup - in my bashrc I have :
if [ "a$STY" == "a" ]; then screen -x fi
Other useful things include actually setting up backups (duplicity is a useful first step here), installing munin/nagios to monitor the new box.
Realistically if you are doing this more than once per blue moon, then you should be using something like puppet to do this automagically.