This is probably upstream bug related to multiple monitors. While these fixes resolve real issues they do not resolve the issue I was originally investigating: with multiple monitors attached (or some other system-specific condition) when xmonad is restarted it stops recognizing docks running from before the restart as docks. Newly started docks are recognized correctly but again lose the dock status on restart.