Поправлю свой предыдущий ответ.
В данном случае value должно быть пустым, а его значение вписывается в if.
Потому что в противном случае две кавычки подряд, укзанные в value и обозначающее пустое значение экранируются и получаеся что в условии поле картинки всего лишь не должно содеражть комбинацию из слешей и апострофов.
Ну и к имени поля еще можно добавить имя таблицы, для однозначности, хотя это и не обязательно.
В итоге, правильный код будет таким:
$shop = & singleton('shop');
$shop_id = 1;
$param = array();
$param['xml_show_group_type'] = 'all';
$param['xml_show_all_producers'] = false;
$param['xml_show_producers'] = false;
$param['xml_show_all_sellers'] = false;
$param['xml_show_tying_products'] = false;
$param['xml_show_modification'] = false;
$param['xml_show_group_property'] = false;
$param['xml_show_item_property'] = false;
$param['xml_show_tags'] = false;
$param['current_group_id'] = false;
$param['items_on_page'] = 9;
$param['items_order'] = 'rand';
$element = array();
$element['type']=0;
$element['prefix']='and';
$element['name']='shop_items_catalog_small_image';
$element['if'] = '!= ""';
$element['value'] = '';
$element['sufix']='';
$param['select'][]=$element;
$shop->ShowShop($shop_id,'МагазинКаталогТоваровНаГлавной', $param);