I'm sorry to be the disenter, but it was you that screwed your customer over. I'm sorry to say that. I don't want to be mean, but you need to do some introspection rather than looking for others to blame. This was your fault.
If you are a Cisco partner, then prior to quoting up a solution or placing an order, you should have known what the best fit was for the customer. Not knowing about an imminent EOS notice is bad. Your team needs more training.
As a Cisco partner, you should know about order cancellation policies. You should know about all Cisco policies that relate to your business and your customers.
Cisco offers a lot of free partner training. Has your team been through the Black Belt courses?
As a positive takeaway, this is a wake-up call about your team's capabilities. Do not be one of those "order takers" who treat this business as transactional. Be a Cisco partner who knows their customers, provides solutions (not parts) and adds value.
Once again, I'm sorry. I don't want to be mean, but you need to take accountability for this one.