That's how it's supposed to work.
But it doesn’t work that way under Windows. Shouldn’t Wine try to stick to Windows behavior as close as possible ?
Wine should never generate WM_DEADCHAR message, it relies in the driver to handle dead keys and generate final events.
I’m sorry but I fail to see any incompatibility between the two alternatives. Wine can generate WM_DEADCHAR messages AND let X/input method handle the real processing (and the generation of the final event) ; this patch never skip the XFilterEvent call, so it’s still up to your favorite IM to generate the final char from the keystrokes sequence.
X11 even has an ability to support user defined key sequences which are handled by XFilterEvent and which will be broken by your patch.
Are you speaking about XCompose or things like ibus ? Both still looks like OK with this patch (tested with wine’s notepad, ibus-anthy and XCompose keys from http://bepo.fr/).