OK, I've been digging around in the dolphin code for a few days now, and I've made a little bit of progress in this area...
So Keissel's patch seemed to make the game playable, but it messed up certain features in the game (i.e. the minimap, the map menu, the select item menu, remaining bomb/arrow numbers). My initial solution for this was to swap between the hacked and unhacked plug-ins when going into dungeons, but that was pretty annoying, so i decided to dive in and see what i could fix.
I decided to just build on what keissel did, and began identifying what textures were being drawn during the flushes that he disabled. I Discovered that the same texture was being drawn during each of the flushes that he was intending to disable. This led me to an alternate method of disabling the flush command (instead of by never flushing after a tev combiner change), where i disable the flushes only when this particular texture is being drawn.
The result is a speed increase equal to about that of Keissel's (as far as i can tell), but with the textures all restored. What appears to still be messed up, however, is the mini-map. This makes sense, because i think the mass amount of flushes we were trying to disable occur while trying to draw the minimap (They have to be doing something

). What i didnt expect was for the minimap to actually be present, which it is, only it is horribly shaded.
I have barely tested this so feedback will be useful (as usual). I have also restored textures with a couple different methods (all similar but more cumbersome) but none appear as successful as this method. Here is what i did:
I replaced this line that Keissel-Stein changed in BPStructs.cpp:
if (bp.address < BPMEM_TX_SETMODE0 || bp.address >= BPMEM_TEV_ALPHA_ENV+32)
FlushPipeline();
with this line:
if ( ((bpmem.tex[0].texImage3[0].hex << 5) != 0x1124ee60) || !(bpmem.tevorders[0].getEnable(0)) )
FlushPipeline();
Notice the compare to a 32-bit address: This is the address of the texture i identifed being printed multiple times (The texture is a very small gray circle, I think the minimap is just a bunch of these circles drawn over and over again). I am worried that this address may not be consistent across all versions of the game, and thus this will not work for everyone (or maybe even anyone) else. I use the NTSC version of the game, so PAL users be wary. If this is the case, I'm pretty sure I could find some other way of identifying this texture in other versions of the game.
My next task is going to be to see how this changes the pattern of BPWrite Flushes during a frame, and seeing if anything else can be done to restore the minimap. I have not gained too much additional insight into what the actual cause of the hyrule field slowdown is, but I plan to look into how many additional vertices are flushed in hyrule field compared to else where (I think other people may have already done this).
Anywho, I'm not good with making and posting builds, but if you have any time Xtreme, i was hoping you could possibly try out this change and if it works, maybe post another build. Last note, I use EFB copy to Texture and scaled copy.
EDIT: I just attached a dump of the texture that i identified, note i changed texture dumps on my build so that the address of the texture is attached to the filename after the hash
EDIT: using the line:
if ( ((bpmem.tex[0].texImage3[0].hex << 5) != 0x1124ee60))
instead un-inverts the minimap, making it look a little clearer... unless you use EFB copy to RAM, in which the original line prints the map very well and in color. This line also uses less flushes, so it may be a little faster (probably less than 1 fps though)