Hey,
at least the latest version of Virtuemart (v3.6.10, havn't tested other versions) doesn't use the DATaxRules to calculate the cart-prices.
The problem is the line 864 of the file calculationh.php.
It uses the variable $trule to add the rule to the array, but this variable comes from the taxRulesBill-Loop.
Correct would be $darule.
So change the following line from:
$this->_cart->cartData['DATaxRulesBill'][$k]=$trule;
To:
$this->_cart->cartData['DATaxRulesBill'][$k]=$darule;
I assume this will be fixed in the next version, but for the meantime you'll have here the fix.