The main reason I use them is for their automatic blocking As I said, none of mine are going to be modal so I don't have to worry about that issue.
I have used JOptionPane but found that most of my users would eventually complain that my app froze Did I say something about a JOptionPane in my question?
BTW - The reason your users are having that problem is because you aren't specifying the parent frame for the JOptionPane to be modal to. If you specify the parent frame the JOptionPane cannot get lost behind it.
The Frame can be maximum and minimum and dialog cannot, This seems the only valid reason so far however, I can disable window decorations on my JFrame and then the user won't be able to minimize/maximize. So does anyone else have any viable reasons?