I'm not a WP expert, but in checking out a few resources in the Codex, it seems like you have some options. This page seems to suggest not directly altering query_posts, but if you know what you're about, so be it. This page and this one together suggest ways of modifying the query to order by arbitrary fields through a wrapper of the main function.
I might try something like:
function get_pending_events( $query ) {
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'order', 'DESC' );
$query->set( 'meta_value', time() );
$query->set( 'meta_compare', '>=' );
}
add_action( 'pre_get_posts', 'get_pending_events' );
Your date format needs might be different, but this might be one way to go about it. The Codex does seem to have a lot of good info.