Why isn’t my multiple orderby working?

This should help:

You can use multiple fields in orderby argument. Codex shows you how to do it (and you do it correctly):

$query = new WP_Query( array( 'post_type' => 'page', 'orderby' => 'menu_order date', 'order' => 'ASC' ) );

And it should solve your problem. (It should, but if you want to sort DESC it probably won’t, because of this WordPress bug: http://core.trac.wordpress.org/ticket/17065)

Of course you always can use posts_orderby filter to create your own ORDER BY part of query.

function my_posts_orderby($orderby_statement) {
    $orderby_statement = "YOUR ORDER BY STATEMENT";
    return $orderby_statement;
}
add_filter('posts_orderby', 'my_posts_orderby');

Just add this filter just before you call your query and remove it after.