There is an assert in `CWalletTx::RelayWalletTransaction` that gets hit.  All other code paths check `fBroadcastTransactions` before getting to `CWallet::ResendWalletTransactionsBefore` except the rpc call `resendwalletransactions`.

It's an easy fix, but we just need to decide whether to throw an error or return an empty array of rebroadcasted transaction ids.

Should be fixed for 0.15.
const CTransaction& tx = *ptx;
    if (!AddToWalletIfInvolvingMe(ptx, pindex, posInBlock, true))
        return; 
    
    
    
    for (const CTxIn& txin : tx.vin)
    {
        if (mapWallet.count(txin.prevout.hash))
            mapWallet[txin.prevout.hash].MarkDirty();
    }
}
void CWallet::TransactionAddedToMempool(const CTransactionRef& ptx) {