Hi!
From my experience, the problem is related to the session that VM2 establishes in the browser. So, if at the same time the same shopper try to activate his account, Joomla! refuses, since Joomla! considers him as being logged in. Note that when the session expires, e.g. clear cache, or if we use a different browser, e.g. mobile browser, the shopper is able to activate his account.
In my setup I have commented lines 34-37 of the activate() public function of components\com_users\controllers\registration.php file.
// If the user is logged in, return them back to the homepage.
/*if ($user->get('id')) {
$this->setRedirect('index.php');
return true;
}*/
Certainly, the above is not the optimum solution, since although a customer is able to activate, he is not able to log in before the session expire. (Note also that in my setup I always redirect www links to non-www ones, through the .htaccess file)
The VM2 - Joomla! conflict is a critical issue that VM2 developers should address in future versions, since this inconsistency degrades the confidence of a potential shopper to the e-shop. This is really unfair for VM2, since in fact, it is a great component!
As mentioned before, all the above is what I have realized from my experience with the problem. So, if there is anything more, that a website administrator can do to avoid the problem, I would kindly suggest the VM2 developers to give some specific advices and explanations.
Thanks,
Nikos
Joomla! 2.5.8
VM 2.0.18a