I have taken a look at the cart tax and discount rules. The problem is that tax will be calculated on the total price column. Since the total price for the item does not take into account any discounts you will be taxed on the non discounted amount.
There is another subtotal you could use for the tax, if you choose to base it off of the taxable total then it will take into account the charges and discounts before applying the tax.
The problem with this is that it will still be based on the totalprice of all the items in the cart. The only way that I could think of that would allow this to work for you would be to modify the taxabletotal function so that it only gets the subtotal for the items that have a 1 in the taxable column.
This would allow you to use the taxable total to base the calculation on instead of the one you are using now. To make this change to the taxable total function you would need to locate the function in the WA_eCart_Definition.php file. In here look for this line of code:
function GetTaxableTotal() {
In here you will see that the $taxtotal variable is being set based on the total of the totalprice column. You can replace this line of code with the conditional total code so that it only includes items that have a 1 in the taxable column.
replace this:
$taxTotal = $this->TotalColumn("TotalPrice");
with this:
$taxTotal = $this->TotalColumn("TotalPrice") = $this->ConditionalTotal("TotalPrice", "Taxable", "1");
Please give this a try and let us know how it works for you. If you make any changes to your cart this update might be overwritten, so make sure to back up this page after you make the update.