MPD should be killed using hangup (HUP) in the start-stop-daemon so the state_file if not killed with HUP it is sometimes unreliable what state it will save. Easy way to do this is just to simply add '--signal 1' to the init file in the stop function.
Created attachment 51173 [details, diff] Patch to /etc/init.d/mpd
mpd author telling me I'm wrong, will refile if I'm right