Yes, the Qt 4.6 based application works fine in all apple osx releases prior to osx 10.10 Yosemite. So something changed in Yosemite that is messing up the menu bar refresh after you run a modal dialog.
And as i said, if you just run normal Qt modal dialogs, then you can fix it by just manually calling menuBar()->update() after running the modal dialog. Then the menu bar reappears after the modal dialog is closed.

I thought that had fixed it with that until i noticed that after your run any of the standard file dialogs, like QFileDialog::getOpenFileName(),
then that fix no longer works. So running that QFileDialog::getOpenFileName() call changes the state of something, so even when you call menuBar()->update() after closing a normal Qt modal dialog, the menu bar still doesn't reappear until the user actually clicks the menu bar.

Is there a way in Qt 4.6 to not have a modal menu dialog make the menu bar vanish, but instead do what QFileDialog::getOpenFileName() does? Because that would probably fix it by making the problem not happen.
Or is there something else i need to do after calling QFileDialog::getOpenFileName() to change focus or something so that menuBar()->update() will actually redisplay the menu bar after closing a normal Qt modal dialog.