The official EC Air passenger rights website tells us:
The airline must offer you, on a one off basis, a choice between:
- the reimbursement of your ticket and, if you have a connecting flight, a return flight to the airport of departure at the earliest opportunity
- re-routing to your final destination at the earliest opportunity or,
- re-routing at a later date at your convenience under comparable transport conditions, subject to the availability of seats.
- If the airline does not comply with its obligation to offer re-routing or return under comparable transport conditions at the earliest opportunity, it has to reimburse your flight costs.
- If the airline does not offer you the choice between reimbursement and re-routing but decides unilaterally to reimburse your original ticket, you are entitled to an additional reimbursement of the price difference with the new ticket (under comparable transport conditions).
So the only caveat is that your alternative must be “under comparable transport conditions”, so for instance if you had booked a cheap economy fare and ask for reimbursement of a first class ticket, there could be a problem.
At the same time, the obligation for them is to re-route you “at the earliest opportunity”, which is deemed to really mean that, even if they have to book you on an alternative airline or in a higher class of service.
So it will probably depend on whether you can somehow justify that whatever alternative flight was indeed the best option, and not just you trying to get an upgrade paid by them.
While I sympathise with them in this situation (it’s not like it’s their fault if the flight was cancelled), the law is clear: they have to get you there or pay for your costs. I understand that given the situation the number of options must have been limited and expensive, but it’s not a best effort goodwill gesture, it’s a legal obligation.