В компоненте k2_store за обновление цены отвечает плагин, поэтому если вы решили менять цену не на странице редактирования материала, то обязательно нужно обновлять поле plugins в таблице #__k2_items:
$db->setQuery("select plugins from #__k2_items where id='".$ids."' ");
$plugins=$db->loadresult();
if (trim($plugins)!=''){
$pluginsstr=(array)json_decode($plugins, true);
$pluginsstr['k2storeitem_price']=$price;
$pluginsstr['k2storespecial_price']=$sprice;
$plugins=json_encode($pluginsstr,true);
$db->setQuery("update #__k2_items set plugins='".$plugins."' where id='".$ids."' ");
$db->execute();
}
else
{
$plugins='{"k2storeitem_enabled":"1","k2storeitem_sku":"","k2storeitem_price":"0.00000","k2storespecial_price":"0.00000","k2storeitem_tax":"0","k2storeitem_shipping":"0","k2storeitem_metrics":{"item_length":"0.00000000","item_width":"0.00000000","item_height":"0.00000000","item_length_class_id":"0","item_weight":"0.00000000","item_weight_class_id":"0"},"k2storeitem_cart_text":"","k2StatisticHitscheck_item":"1"}';
$pluginsstr=(array)json_decode($plugins, true);
$pluginsstr['k2storeitem_price']=$price;
$pluginsstr['k2storespecial_price']=$sprice;
$plugins=json_encode($pluginsstr,true);
$db->setQuery("update #__k2_items set plugins='".$plugins."' where id='".$ids."' ");
$db->execute();
}