The reason remote.c includes @hostname on the XA_SCREENSAVER_ID is to detect the case when "xscreensaver" and "xscreensaver-demo" are running on different hosts, because if they are different hosts, they are likely different file systems for the home directory. Your first patch disables this check.
I still don't understand why a user name would have an @ in it in the first place, so I can't comment on the rest. -- Jamie Zawinski https://www.jwz.org/ https://www.dnalounge.com/