Here is an alternative idea...
What about moving the categories on to a tab of their own?
ie. [Event] [Recurrence] [Categories]
This would allow plenty of space to display all the available categories at once as a table (of say 4 x 12 = 48 items), and has no greater disadvantage than clicking the existing button and popping open a new dialogue.
Perhaps also add on option (saved in the template or globally) as to whether the previously used category is remembered?
Maybe the new tab could also show the category icon next to its name?
And the colours could display a small square of that colour?
Thanks for considering my suggestions