Hello Stoutheart,
Since you may have multiple events in a given day, for a given user, you may want to look at this a bit differently..
I would query to get the time ranges that the person still has available (open) and then see if any events have a start/stop time that falls between my open times...
I'm hoping that no events span days...
Its kind of like the query to get time pairs for a timeclock query, except you want the times NOT worked...
Make sense?