Punting off RC2.
I tried another attempt at this, by checking whether the normalized string form (produced by BigDecimal.toString just before calling .doubleValue) is .equals to the known bad form. My change just then replaced the doubleValue call with a literal value close to the bad form that's known to parse, and other things failed.
We'll have to poke around more for a workaround. Nothing so far passes all tests.