Answer: Air France should have refunded your ticket promptly. When a flight is canceled — no matter what the reason — the airline owes you either a full refund or a new flight of its choosing.
Unfortunately, the airline isn’t required to refund you for any expenses incurred because of the delay, including the lost night in a Stasbourg hotel.
Under EU law, however, you’re owed cash compensation for your mechanical delay. The airline should have also paid for a hotel in Paris, as well as offered you meal vouchers.
The full text of the law, called EU 261 can be found here.
Air France appears to have cleverly dodged EU law by labeling this as a weather delay, which is half true. Your flight was originally delayed because of a mechanical problem but then canceled because of weather, by your account. Had Air France designated the flight a mechanical delay, then it would have owed its passengers very generous compensation.
Having access to a copy of EU 261 at the time of your delay may have made a difference. Politely confronting a ticket agent with the information that your flight was delayed for mechanical reasons and that the law required it to compensate you might have given your story a happier end.
When your airline doesn’t listen to you — as it appears Air France did — then you can also appeal your case to a manager. I list several on my wiki.
I contacted the airline on your behalf. Air France apologized and refunded your ticket.