Have you had a look at the execution plan for the query ?
If not, have a look at this: <a href=”http://www.sql-server-performance.com/tips/query_execution_plan_analysis_p1.aspx”>SQL Server Query Execution Plan Analysis</a>
The execution plan is always helpful, it will tell you, among other things, if the indexes are in fact being used.
I think an index on VisitDate and ExitDate could help to improve the query’s performance, and I would recommend to compare the fields to a value of its exact data type, since some databases (such as Oracle) does not use indexes when an implicit data type conversion is made during the query execution.
One reason is going to be because your Customer table is not indexed correctly. You need an index on the VisitDate and ExitDate columns as well as the CusId column.