OK - this is great.
A couple of things.
Indeed when you login as a regular user, you can see events for forums they don't have access to.
I didn't totally wrap my head around all that you did, but I don't see a query to the w3t_Boards table in there, so somewhere along the line, you've got to query the read permissions of the w3t_Baords table and see if whatever forum that event belongs to is seen by this group.
This is pretty complicated.
So I'm not sure exactly how to go about it, but if you study how it's done in the the calendar script, that should give a bit of an idea.
One other suggestion, and I'm not sure if it's easily possible.
But it would be great for the different event types to get 'grouped' under the date. So that the same date doesn't have to repeate if there are multiple things listed under a day.
Wonderful work on this.
As soon as this is set, we'll put out 5.4.5 with this inclluded. I'm finishing up some other IIP improvements.
thanks again!