Have been having problems (also with raspyfi) where the device hangs if you try to play a bad radio stream URL. This can happen with the BBC streams when they change.
Restarting mpd or rebooting doesn’t help. A little exploration and I found this file: /var/lib/mpd/state
There’s a line as follows:
song_begin: bbcmedia.ic.llnwd.net/stream/bbc … a38a932a8d
Deleting the section after the colon, saving then restarting mpd will fix the problem. I guess you need some code that detects this particular cause of hanging. You can still ssh into the system and edit the file with nano, then restart mpd with sudo /etc/init.d/mpd restart which will fix the problem. Otherwise you are stuck.