We have implemented downtime tracking in Epicor MES, and like you said, it leaves a bunch to be desired. You are correct, it does not calculate the number of hours of downtime, you need to do that yourself.
One other thing to note, is that it tracks downtime by employee, not job. The net effect of this is that it will not track correctly if an employee goes into downtime, moves to another job, and that job needs downtime as well. Taking either job out of downtime takes both jobs out of downtime.