If this is a desktop thick-client app, or it’s important to be consistent with desktop apps, then the Windows 7 UX guidelines specify that for risky actions, the most visually prominent button should be the “safe choice” (page 384). Specifically, the safe choice should be the default button, which is both more visually prominent than other buttons, and also activated by the Enter key. Similarly, Apple’s HIG says the most prominent button should that which “represents the action that the user is most likely to perform if that action isn’t potentially dangerous. [emphasis in original].” It specifically recommends against making a button prominent “if it causes a loss of user data” (p245).
So, the more prominent button should be "No, Keep This," right?
On the other hand, I have to agree with you that chances are the user is not an idiot and 90%+ of the time they really want to delete the object. The result is that users will get in the habit of clicking the confirm button of your confirmation message without really thinking or even reading the message, a habit many users already have. That defeats the purpose of having the message in the first place. Furthermore, with the exception of slips-of-the-mouse, users often don’t know that they’re making a mistake until after the action is committed and they see the result in the parent window (e.g., “Oops. Deleted the wrong thing”). Such confirmations do little other than waste user effort and teach bad habits.
If at all possible don’t have any confirmation for delete. Instead, have a clear and easy way to undo deletes.