Экспериментально выяснено, что помогает нижеследующая функция, которую надо вызывать после setWindowFlags
void MainWindow::restoreAcceptDrops(QWidget *AParent)
{
#ifdef Q_WS_WIN
	foreach(QObject *object, AParent->children())
	{
		if (object->isWidgetType())
		{
			QWidget *childWidget = qobject_cast<QWidget *>(object);
			if (childWidget->acceptDrops())
			{
				childWidget->setAcceptDrops(false);
				childWidget->setAcceptDrops(true);
			}
			restoreAcceptDrops(childWidget);
		}
	}
#endif
}