This looks like taxing structure bug.
This is how I understand tax procedures in FA:
We have 3 tax tables:
1. Taxes - all tax rates used in system;
2. Item Tax Types - category of goods (from fiscal authority point of view)
3. Tax Group - defines sources of taxation e.g. domestic sales, export, sales for special subject (tax exemptions).
The tax group selected for any customer makes a filter which (during invoice processing step) selects tax charges specified by item's tax type. Shipping costs are special case, so we can select which Tax Group is appropriate for them (Tax Shipping option).
Such special tax group should be unique, but in Tax Groups page we can set more then one - this is first issue. The second and worse is that in get_tax_for_items() function (tax_calc.inc) shipping tax is calculated for all tax rates of customer tax group, not for this special group with Shipping Tax option set.
This is source of incorrect shipping tax calculation, isn't it?