The cannot resolve overallocation message is usually due to one of two
causes. All resource leveling ever does is delay work to resolve
overbookings. The first cause of that message is when you have assigned
someone to a single task at more than their maximum allowed rate. If I have
Joe with a max allocation of 100% and I assign him to a task on Monday at a
level of 200%, there's no way Project can slip that task later as a block
that will reduce the allocation down to under 100%. True, I could double
the duration and reduce the assignment that way but thta's a manual
process - Project's leveling engine NEVER, un der any circumstance, changes
the assignment level. You probably never knowingly assign someone more than
100% but sometimes the same sort of thing can happen when you have someone
assigned to some tasks at, say, 100%, and then go in and edit the resource
sheet to reduce their maximum allowed allocation to something less than
that.
The other time this usually happens is when you have Joe assigned to more
than one task at the same time and the total assignment is greater than his
maximum allocation. You have him on task X on Monday for 8 hours at 100%
AND ALSO on task Y on Monday for 8 hours at 100%. What that says is somehow
you expect him to magically do 16 hours of work over the course of a single
8 hour day. Not possible. When you resource level, Project wants to move
one of those tasks to Tuesday, which it will do UNLESS you have "level only
within available slack" turned on. Available slack means to level only so
far as it can without delaying the project finish and then stop. Since your
little two-task project's finish is starting out set at the end of the day
Monday, it can't slip a task to Tuesday without delaying the finish to
Tuesday. But the "level only within available slack" is a direct order not
to do that, hence it aborts telling you "can't fix it."