I was thinking about it and realized that there is a clear logic in the game: if a hero sees an icon in a message, it means they received what is depicted on the icon.
Therefore, I won't display the icon in the messages of shrines if the hero doesn't receive a spell.
And I think the way I'll do it will satisfy everyone...
1) If the hero receives a spell, then a standard message in the center of the screen.
2) If the hero doesn't receive a spell (for any reason), then the spell icon in the info panel.