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.
if (ser_action.ForRead())
            Init(NULL);
        char fSpent = false;
        if (!ser_action.ForRead())
        {
            mapValue["fromaccount"] = strFromAccount;
            WriteOrderPos(nOrderPos, mapValue);
            if (nTimeSmart)
                mapValue["timesmart"] = strprintf("%u", nTimeSmart);
        }
        READWRITE(*(CMerkleTx*)this);
        std::vector<CMerkleTx> vUnused; 
        READWRITE(vUnused);
        READWRITE(mapValue);
        READWRITE(vOrderForm);
        READWRITE(fTimeReceivedIsTxTime);
        READWRITE(nTimeReceived);
        READWRITE(fFromMe);
        READWRITE(fSpent);
        if (ser_action.ForRead())
        {
            strFromAccount = mapValue["fromaccount"];
            ReadOrderPos(nOrderPos, mapValue);
            nTimeSmart = mapValue.count("timesmart") ? (unsigned int)atoi64(mapValue["timesmart"]) : 0;
        }
        mapValue.erase("fromaccount");
        mapValue.erase("spent");
        mapValue.erase("n");
        mapValue.erase("timesmart");