Как выбрать записи у которых нет определенного meta_key
$request = "SELECT ID, meta_key, post_id, post_status, post_type, meta_value
FROM $wpdb->posts, $wpdb->postmeta
WHERE post_status='publish' AND post_type='post' AND meta_key = 'ImageURL' AND ID=post_id";
Выбирает все записи у которых есть ImageURL. Надо с точностью до наоборот. У записей несколько meta_key поэтому != не катит.
А через массив через foreach не на наличие не проверяли? Ведь $request это массив…