@Lex:
Of course you can't enforce non-suppression, the best you can do is to document it clearly (hint not to forget the documentation :)
Actually you can (and my code currently does) enforce it, simply by ignoring the return value from the g_signal_emit_by_name call. To make certain, if you don't trust plugin developers, you could pass only a copy of the event data.
Cheers, Austin.