I thought I would post some progress I made on this issue but I haven't yet found the solution.
I upgraded my iMac recently to 10.13.3 as the original poster and I have the same symptom with Guest account logout hanging with black screen and requiring a hard power button shutdown.
You will need more than one computer and some familiarity with linux or Mac commands might be helpful.
Here are the steps I took to try to isolate the problem:
1) As an admin user, go to System Preferences > Sharing and Enable the check box for "Remote Login". The Administrators users group is by default specified but I also added my username explicitly. Note the quoted ssh command format in the dialog box before closing it. You will need that.
2) Open a Terminal window and execute the specified ssh command, say yes if prompted about host key, and enter password. This is to make sure the ssh works.
3) Switch to Guest User account and wait for desktop to appear.
4) Attempt logout of Guest User - it will hang at black screen.
Now you need the second computer.
5) Go to another computer on the same local network, I used a macbook, open Terminal, and ssh into the hung computer to the command shell prompt.
6) Execute the following command to view the end of the system.log
tail -20 /var/log/system.log
In my case, there was a repeating loop of messages every 10 seconds showing a problem with several processes. See below.
So as the Guest User logout is in progress, some of the processes have errors, probably because the Guest files are being deleted while the processes are running. The processes trigger a ReportCrash which then tries to report the problem and restart the process and it repeats every 10 seconds.
So all I need now is for someone to tell me how to change the Guest account behavior to either disable ReportCrash or kill the processes in the proper order so errors are not generated.
If you don't care about deleting the Guest files, another option might be to leave the files in place after logout. Haven't tried that yet.
Mar 25 12:29:55 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Mar 25 12:29:55 Thomass-iMac secinitd[724]: cloudphotosd[1260]: registration request failed: (0x11, 0x0) AppSandboxUtilRealPathForPath(self.userAccountHomeDirectoryPath) failed
open() for F_GETPATH failed.
NSPOSIXErrorDomain:2 No such file or directory
WR/DST: /Users/Guest
0 lstat() errno: 2
-1
o:0 m:040755 f:()
fs: hfs, fsid: 1000008/17, mf: 0480d000 avail:530367312
Mar 25 12:29:55 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.cloudphotosd[1260]): Service exited due to signal: Illegal instruction: 4 sent by exc handler[0]
Mar 25 12:29:55 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.cloudphotosd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Mar 25 12:29:58 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.suggestd[1257]): Service exited with abnormal code: 3
Mar 25 12:30:03 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.touristd[1263]): Service exited with abnormal code: 1
Mar 25 12:30:03 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.touristd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Mar 25 12:30:05 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Mar 25 12:30:05 Thomass-iMac secinitd[724]: cloudphotosd[1264]: registration request failed: (0x11, 0x0) AppSandboxUtilRealPathForPath(self.userAccountHomeDirectoryPath) failed
open() for F_GETPATH failed.
NSPOSIXErrorDomain:2 No such file or directory
WR/DST: /Users/Guest
0 lstat() errno: 2
-1
o:0 m:040755 f:()
fs: hfs, fsid: 1000008/17, mf: 0480d000 avail:530367310
Mar 25 12:30:05 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.cloudphotosd[1264]): Service exited due to signal: Illegal instruction: 4 sent by exc handler[0]
Mar 25 12:30:05 Thomass-iMac com.apple.xpc.launchd[1] (com.apple.cloudphotosd): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.