Agreed, the "amount plus fee exceeds balance" check fails, yet we still set the transaction's fee to nFeeRequired which is 0 at this point.