Well.. I kind of fixed it!
I've used a different search system in tandem with yours that uses a post indexer plugin to make a bespoke set of multisite aware results, and a plugin for a search box that uses it.
With this in place, I wrote some custom adjustments to is to switch to the correct blog for each results, and output the category and the featured image. Then I wrapped each result in a much more html5 friendly way, took that custom code and made a non-networked version of it for my normal (non-network) blog results page.
It's pretty seamless at the moment- feel free to take a look at the code in my site if you would like.
Good luck on figuring out a solution. One of the things that the plugin I used had that might be a really handy addition is the ability to state on each blog what post types I wanted to search through, as I was able to set all posts and pages to be shown from the main domain, but crucially set ONLY pages to be indexed for other domains. As my blogs from the main domain are syndicated/duplicated through to the sub domains this kills the duplication issue 🙂
Phew, quite a few hours getting all that done!!