Personally I would have installed 3.2.55 as well. BUT, with 4.0 you get alot of nice insight to your resources (vm channels trunk channels , etc...) It alos give you trunk congestion errors, which would be very helpfull in this case.

Even with call status you should be able to look and see if the users hitting the hook switch is putting the call on hold or not.

I would try giving the analog users a longer busy wrap up time, and tell them not to hang up, let the callers hang up on the call. OR, if you never have a need for the users to need the "flash hook" operation, under extensions>analogue, change the minimum flash hook width to the max of 490. See what that will do, not sure if it will solve the problem, which is user training, not system capacity.

Hind sight being 20/20. I would have set the system up for 5402 phones instead of analog. Then the users would have had a cheaper phone with a DROP button.