bisognerebbe vedere bene la struttura e la navigazione del sito, cosa che non è possibile con il SEF attivo, comunque penso sempre che bisogni mettere mano al codice, e questo sempre per la vexata quaestio degli Itemid non passati da VM.
quick & dirty, ma non troppo, io agirei sul template principale del sito sottoponendo a condizione la visualizzazione dei moduli.
i moduli sono piazzati nel template tramite place holders tipo
<jdoc:include type="modules" name="nome-della-posizione" />
individua quello della posizione dei moduli che non vuoi far vedere nella ricerca e fai diventare il codice così:
<?php if(!JRequest::getVar('keyword') || (JRequest::getVar('option')!='com_virtuemart')): ?>
<jdoc:include type="modules" name="nome-della-posizione-da-nascondere" />
<?php endif; ?>
in caso di ricerca tramite VM i moduli non saranno visualizzati.
nota: intorno a jdoc:include potrebbero esserci degli elementi html, tipicamenti dei div, funzionali al layout dei moduli, sta a te capire quali includere e quali no nell'if.
ciao,
marco