Я бы, наверное, имел такую таблицу:
Meetings
--------
Unique_ID
Meeting_Date
Start_Time
End_Time
Тогда я бы создал хранимую процедуру, которая бы извлекала все собрания, которые в определенном диапазоне дат, т.е.
Select Count(*) from Meetings where Meeting_Date=@date and Start_Time >= @startTime and Start_Time < @endTime Or End_Time > @startTime and End_Time < @endTime
Если из этого запроса вы возвращаете какие-либо результаты, то вы знаете, что введенное время либо перекрывает существующее собрание, либо совпадает с другим.