I opened the Terminal Emulator and typed:
$ su
# logcat
Then I held 'Volume down' (a.k.a. Ctrl) and 'c' to stop the output. I scrolled a bit up in the output and found a line that said:
E/SQLiteOpenHelper( 5231): Couldn't open alarms.db for writing (will try read-only):
E/SQLiteOpenHelper( 5231): android.database.sqlite.SQLiteException: Can't downgrade database from version 7 to 5
OK, so this is where it's breaking. I wasn't really interested in finding out what should the proper combination of ownership/permissions for the file as I didn't really trust it would end just here, downgrading database version offers a range of situations that can go wrong. And since I don't really care for my past alarm clock times, I got rid of the old database:
# cd /data/data/com.android.deskclock/databases
# mv alarms.db alarms.db.bak
Problem solved.