I would think that the code you used would disconnect everything, even other plugins.
I suggest that you connect the signal to a method in your base plugin that cannot go away. That method would route the signal to where ever it needs to go by directly calling the appropriate method(s). I assume that your plugin can tell what dialogs are open or not, and therefore where the signals should go. The signals are run on the GUI thread, in case that matters to you.