I just called Rogers and spoke to a very helpful Rogers tech support rep. This is the solution he offered and it worked for me:
1. When the phone is off, press and hold the Home and Power button until the phone comes on.
2. You should see a little icon with an exclamation mark. Now press and hold the Home and Power button again.
3. You should see some instructions and some options. Use the trackball to select Factory reset. This will erase all your phone's data, but if you're in the cloud (ie your contacts are with Google), you should be fine, you'll just have to reconfigure everything (ie mail accounts, keyboard calibration, home screens, app downloads and preferences).
I hope that helps. I just spent a very unhappy 12 hours without my phone.
FYI: I have a non-rooted Rogers HTC Magic with no mods whatsoever. The problem started one random night when I wasn't using my phone, it just got stuck at the HTC logo like it was about to restart, and it just kept refreshing the logo.