I'm in favor of a radically different approach. I still think a simple plug-in interface for WinUAE is the way to go, to keep things like this separate, so they can be updated or not, independently of WinUAE. But this has been proposed and rejected before, and since I don't intend to do any work on this, I haven't felt inclined to press the point.
What I had in mind is basically just a Kaillera plug-in registering a bunch of callback functions that are then called at the various required points in WinUAE's execution. Those hooks would hardly waste any cycles when no plug-ins are used (just a single check whether a pointer is NULL for example) and could be as simple as calling a linked list of functions in sequence at those points in the code. Note that this idea is based on an incomplete understanding of the changes that are actually necessary to patch Kaillera support into WinUAE.