Mark, are you sure that that is your entire program, and you're not calling shutdown/exit anywhere?
If I run your program, I predictably get both lines of output, and then the program waits forever, because you never call shutdown.
However, if you were calling shutdown after the Deferred.any became deferred, then there would be a race condition between the "What?!" printing and the program shutting down. So sometimes you would get "What?!" printed, and sometimes not.
Malcolm, your first sentence is true (and the thing you suggest seems like the right remedy), but I'm not sure how that applies in this case.