Если бы мы получили дату публикации поста, это было бы что-то вроде:
$today = getdate();
query_posts( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&post_type=event&meta_key=event_date&orderby=meta_value&order=ASC' );
Но вы пытались получить дату из мета-значений ?:
query_posts( array( 'meta_key' => 'event_date', 'meta_value' => '2011-02-01', 'meta_compare' => '>=', 'post_type' => 'event' ) );
Вы можете получить первый день текущего месяца с чем-то вроде:
date( "m/d/Y", strtotime(date('m').'/01/'.date('Y') );
В противном случае я бы попытался извлечь все сообщения, как вы, а затем создать объекты даты с каждым мета-значением и сравнить его месяц и год с текущим.