Natalie,
You offered a solution which is better then the people who only complained or blamed the emp,oyees. I may not necessarily agree with your suggestion because it would lead to a culture of distrust among the employees. My suggestion is to hold responsible the supervisors or the department heads. Personnel management is part of their duties and they need to keep a handle on who works over-time. They do the scheduling and they approve leave time. A policy and procedure for any over time should be developed or if they have one then they either need to revise it or pay attention to their department budgets. 
That is why they get paid the big bucks !