Here's my rationale for this...
- If you press OK or Cancel you are essentially telling the program to save or toss your data
- If you press "Close" it is vague - so I ask you if you really intended to save/toss the data
My overall philosophy with the program is to try to minimize the number of times I interrupt the user's workflow, so even with confirm dialogs I use them only when the meaning is not clear or you are performing a major operation.
Brad