какая версия Qt и Windows? В Qt 4.5.0 было сделано огромное количество улучшений и исправлений ошибок в QFileDialog.
кстати, попробуйте использовать асинхронный интерфейс диалога который появился в 4.5
C++ (Qt)
QFileDialog dlg1(this);
dlg1.setDirectory("c:/Programming2008/cTM/Gener");
// по-умолчанию open() использует "родной" диалог операционной системы.
dlg1.setOptions(QFileDialog::DontUseNativeDialog);
dlg1.open(this, SLOT("on_file_dialog_closed()"));