I don't know if I'm retarded, crazy or just plain genius or not, but I've decided to use tags as a way to link content site-wide (a big ol' many-to-many relationship website for archiving various aspects of a huge project). Unfortunately, this means that some custom post types utilised by some plugins don't exactly link up properly with other objects (posts, pages, etc.) as they use other taxonomies (and in the case of media 'attachments' they don't use taxonomies at all, unless I pork in a plugin to fix that -- which there is and I'm using it and it uses a different taxonomy...). Actually, some plugin types have specific taxonomies hard-coded in so I can't really go through and change their core code or else a plugin upgrade would wipe all my hard work.
To address this fragmentation and perception of long, arduous work of hacking the plugins and/or Wordpress, I initially used the Advanced Taxonomy stuff with WP_Query and that was working well, until I found I needed some extra information with meta tags and to even change the default ordering based on the post_type and meta_values specific to the post_type. So now I'm going the shorter "long, arduous" work route and have written my own custom SQL builder to fetch the objects based on the tag/meta relationships with the custom ordering per post_type as required by the project.
One thing I'd love to do, so I can use both this new custom query and the existing WP_Query methods, is find out some way to wrap the custom query results in a WP_Query class so I can use have_posts and the_post -- basically all the nice $post stuff. $wpdb->get_results only gives me a plain array of results and I'm not so clued up on WP_Query and $wpdb's niggly bits; can WP_Query let me do some funky custom selects, joins and then order based on the columns selected? Can I just flick an SQL query to get_posts() to get the WP_Query wrapper and its glorious Loop functionality?
It's late and I'm oh-so-close to solving this riddle, so I'd appreciate your help, Obi Wan Kenobi; For the moment the simplest solution looks to be the have_posts() functionality applied to a plain array of post results retrieved via the $wpdb->get_results function, to then easily and seamlessly initiate a WP Loop on that set of post results. If you may know of any other way to do this (Custom Queries, mayhaps?) I'm all ears.