The good news is that I maintained the orthogonality of the engine. The batching system doesn't care what objects are being rendered or in what order, it just tries to batch things intelligently.
The bad news is that after all this work I am seeing a net gain of...... zero. No noticable perf improvements at all. Doing some reading I'm not surprised. Since my current game is a small casual game I'm not rendering that much per frame. It seems that you don't really see huge improvements from batching until you have a critical mass of primitives to render. While it kind of sucks that I'm not seeing any real improvements from my latest work at least I know once I get into more flashy games or partical systems I'll be ready. :)