Quoting Jacek Generowicz
Did marshallPP and defaultPP appear in IndependentScreens between xmonad-contrib versions 0.9.2 and 0.10? Is there an easy way of finding the docs for older versions?
marshalPP is new in 0.10. defaultPP is provided by DynamicLog and is not new. Older versions of the documentation are available on Hackage; click the version numbers at the top of this page: http://hackage.haskell.org/package/xmonad-contrib 0.9.2 doesn't seem to be available, but 0.9.1 is and should be quite close to the same.
But if anyone has any suggestions on getting XMonad to spot the change itself, I'd be interested.
Look into the eventHook. I believe clients are sent a message when the number of screens change. Supposedly, xmonad itself has some machinery for spotting this kind of thing, so you may be able to crib some code from core. ~d