The core problem: You are using the rules for a social interaction and the CSR is using the rules for a business transaction, which gives them the upper hand. Don't let yourself be taken advantage of like this -- it is not at all rude to expect that a business transaction focus on the business issue at hand. You can cut them off efficiently with something like "no upselling until my problem is resolved" and then after you have confirmed that your problem is solved, just hang up. (You can say "thank you" as you hang up if you still feel the need to be polite.)
In the specific case of the CSR who said you were being rude by interrupting them -- they were probably still new on the job and expecting to be able to (ab)use the rules for a social interaction while following their script. If it's any comfort, they probably got a ding on their record if management reviewed the call.
If this is a repeated issue you may be able to have your account flagged for "no upselling". This frees customer service reps from getting their performance ratings (and compensation) hurt by not giving you the required number of mini-sales pitches per call.
(This is unlikely to be a universal solution but was certainly possible with the company I worked for as a CSR (customer sales/support representative) in the US.)
This is, however, outside the scope of interpersonal relationships and does nothing about the rude person you dealt with on the phone.
While CSRs have certain speeches and sales pitches that they MUST give, or get their performance rating downgraded (for example, when I was a CSR I was REQUIRED to start each phone call with
"Thank you for choosing (company), my name is (myname), how may I help
even if I was talking over a customer who had already started describing the problem they were calling in for) there was unlikely to be anything in the customer service manual that called for the CSR to call you rude for interrupting them.
Something nobody else has said yet:
You were not being rude, you were merely trying to get your business done efficiently after being on hold for 25 minutes.
Any CSR who does not expect customers to interrupt their sales pitches to return to the problem at hand has not been on the job very long. Any CSR who repeatedly tells customers that they are being rude for interrupting is unlikely to stay on the job very long.
Unfortunately, the most direct response, asking to speak with a supervisor, would have had negative consequences for you:
- In many call centers you would simply be speaking to a different (more experienced) CSR speaking from a "supervisor" script.
- There would have been an additional delay fetching the supervisor and explaining the rudeness issue that led to the escalation.
- You would likely have had to start from scratch getting your problem (with your security device) resolved.
As for your original question, "how to tactfully interrupt a (rude and inexperienced) CSR", this is a situation where companies take advantage of polite behavior, and there is no need to let yourself be bullied.
After confirming that your original problem was resolved (you said that you had ordered the device) you were done. What you needed to do was say "no thanks" to any further sales pitches, interrupting the CSR if necessary, and get off the call.
In most places CSR pay is partly determined by how fast they handle phone calls. Quickly cutting off an unwanted sales pitch with "no thanks" is MORE polite than letting them talk on wasting precious seconds that could have been spent with a more suggestible customer. Getting into a preventable argument with a customer lowers a CSRs pay.
If you are right and truly upset you could even say something like "No upselling, please. Would you rather spend your time annoying me or ending this call efficiently and getting on to the next customer who you might get a sales commission from?"
Once the CSR started being rude to you, the most polite thing you could have done was to confirm that your original problem was resolved and hang up. The most effective thing you could have done was send a letter to the company afterwords with a complaint about the rude CSR, pretty much guaranteeing, on way or another, that no future customer would have been treated to the same rude behavior.
tl;dr: if a CSR is rude to you, ask to speak to a supervisor if your original problem has not been resolved or hang up and write a letter of complaint if it has. It is not at all impolite or untactful to interrupt an unwanted sales pitch with a simple "no, thanks."