Andy --
This is a huge training and performance issue with your project managers.
At a minimum, you must train them to do the following:
1. Make realistic resource assignments on every task. This means that if a
resource is only going to work part-time on a task, the project manager MUST
NOT assign the resource at 100% Units. For example, I need to assign a
resource to work on a task for an average of about 2 hours per day over the
life of the task. Therefore, I must assign the resource at 25% Units on
this task. If I assign the resource at 100% Units, I have just made a
totally unrealistic task assignment and have totally invalidated the
Availability information for the resource in Project Server. If you do not
get your PM's to do this, there is little point in the second point below.
2. Do not assign resources to a task when the system says that the resource
has 0h of availability during that time period. If a PM ignores the
resource availability information and books an unavailable resource to a
task anyway, the project manager will intentionally cause an overallocation
and the result will be that somebody's task will finish late due to the
overallocation.
Just some thoughts. Hope this helps.