The dealership called yesterday and they said that BMW Canada had denied the warranty claim but that BMW Toronto had decided to repair the damage free of charge as a good will gesture. The only cost I had to pay was my rental car fee while it was being repaired.
I am extremely happy with the service that I got from BMW Toronto.
I dealt with Sheldon Ashley (service advisor), Raffi Kerametlian (assistant service manager), and Mark Glyn-Williams (service manager) and found them all to be professional, knowledgeable, and easy to deal with.
I picked up my car tonight and it looks terrific. They fixed the sunroof and cleaned the car up inside and out.
Thanks to everyone for your assistance.
Here are some photos after the repair.