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.
}
    LOCK2(cs_main, pwallet->cs_wallet);
    if (request.fHelp)
        return true;
    if (!pwallet->IsCrypted()) {
        throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an unencrypted wallet, but walletpassphrase was called.");
    }
    
    SecureString strWalletPass;
    strWalletPass.reserve(100);
    
    
    strWalletPass = request.params[0].get_str().c_str();
    if (strWalletPass.length() > 0)
    {
        if (!pwallet->Unlock(strWalletPass)) {
            throw JSONRPCError(RPC_WALLET_PASSPHRASE_INCORRECT, "Error: The wallet passphrase entered was incorrect.");
        }
    }
    else
        throw std::runtime_error(
            "walletpassphrase <passphrase> <timeout>\n"
            "Stores the wallet decryption key in memory for <timeout> seconds.");
    pwallet->TopUpKeyPool();
    int64_t nSleepTime = request.params[1].get_int64();
    pwallet->nRelockTime = GetTime() + nSleepTime;
    RPCRunLater(strprintf("lockwallet(%s)", pwallet->GetName()), boost::bind(LockWallet, pwallet), nSleepTime);
    return NullUniValue;
}
UniValue walletpassphrasechange(const JSONRPCRequest& request)