Just an idea. Could you log the events also? Then you would have a sequence of timed events and signals. You also remember which events are associated with a widget to which you have added an extra signal slot. In a post processing step, you reorder the signals, so that the associated signals are immediately after the associated event. You also futz with the time of the moved signals.
I'm not saying it is pretty. Just doable.
I'm also trying to understand similarities with other GUI toolkits. Aren't Qt signals like actions in OSX? Do other GUI toolkits allow multiple actions (signals) per event, and also not allow an ordering of the signals?
As mentioned previously, there are tools like Squish that seem to accomplish what you want to do. And for multiple platforms. It seems like they would have an abstraction for the whole mess that would be cross platform. Just as you object to hacking the GUI toolkit, I doubt they hack.
Bookmarks