Thanks for the info. In the end, given that the 1.3.9 code was working fine and the commit to the order class in v1.5 produced the regression error, we decided just to back out all of the changes.
Especially given that backing out those changes did not affect any of the tax related selenium tests that we run on development code.

You can see the changes here.