Apparently you have to make a core hack to fix this problem , which will be overwritten when updating virtuemart, adding the following code in \administrator\components\com_virtuemart\models\orders.php removed the double emails:
Old code:
// Send the email
$res = shopFunctionsF::renderMail('invoice', $order['details']['BT']->email, $vars, null,$vars['doVendor'],$this->useDefaultEmailOrderStatus);
New code:
// Send the email
if(empty($shipment_name) || empty($payment_name)){
return false;
}
$res = shopFunctionsF::renderMail('invoice', $order['details']['BT']->email, $vars, null,$vars['doVendor'],$this->useDefaultEmailOrderStatus);
Found a forum link on one of the posts you pointed out, but the third one you cited is the same problem unanswered, I went ahead and replied to the guy...