Presents a good discussion of basic design principles and gives several examples of how not to design a dialog box.
Chapter 21, "Dialog Boxes," and Chapter 22, "Dialog Box Etiquette," present a good discussion on how to design dialog boxes and tell you specifically what to check to make sure you have done it right.
See the information on secondary windows for a good discussion of navigation, default buttons, and validation of input, property sheets, and common dialogs.
Chapter 8, "Dialog Boxes and Property Sheets" (in the section "The Dialog Box Keyboard Interface"), includes a discussion of dialog box keyboard navigation.