Sia BigInteger che BigDecimal estendono java.lang.Number, tuttavia ciò non significa che puoi eseguire il cast da BigInteger fino a Number, quindi fino a BigDecimal.
C'è un costruttore in BigDecimal che accetta un BigInteger, quindi prova:
BigDecimal d = new BigDecimal(b);