Em um sentido muito restrito, a resposta é "Sim": supondo que suas classes ou interfaces base sejam projetadas para um único propósito, herdar as duas cria uma classe com múltiplas responsabilidades. No entanto, se é ou não uma "coisa ruim" depende da natureza das classes ou interfaces que você está herdando.
Você pode particionar suas classes e interfaces em dois grupos principais - os que abordam a complexidade essencial do seu sistema e os que abordam a complexidade acidental. Se herdar de mais de uma classe de "complexidade essencial", isso é ruim; se você herdar de uma classe "essencial" e uma ou mais classes "acidentais", tudo bem.
Por exemplo, em um sistema de faturamento, você poderia ter classes para representar faturas e ciclos de faturamento (eles abordam a complexidade essencial) e classes para objetos persistentes (eles abordam a complexidade acidental). Se você herdar assim
class BillingCycleInvoice : public BillingCycle, public Invoice {
};
é ruim: você BillingCycleInvoice
tem uma responsabilidade mista no que se refere à complexidade essencial do sistema.
Por outro lado, se você herdar assim
class PersistentInvoice : public Invoice, public PersistentObject {
};
sua turma é boa: tecnicamente, atende duas preocupações ao mesmo tempo, mas como apenas uma delas é essencial, você pode considerar a herança da acidental como o "custo de fazer negócios".