I can't really comment on sleep time since the company I work for does not do 24 hr shifts. However, we were bought out the end of last year, and since that time they have begun deducting a 30 minute lunch from every shift you work. If you are unable to get that time at any point in your shift, you must fill out paperwork stating such so you don't get docked the time. A bunch of us were standing around talking about it, and a couple people made the comment that it wasn't legal because it doesn't matter if we are eating lunch or not, when a call comes in we have to take it.
I no longer have it at my fingertips, but I did research Indiana case law about the issue and found out that they can dock your pay when you are not busy in certain circumstances. From what I read, it all comes down to whether you are "waiting to engage" or "engaged to wait". The IN courts defined "engaged to wait" as a situation similar to being sent for stand-by at a football game. You may not actively be doing anything at the moment, but you are unable to go or do something else. If you are "waiting to engage" you are free to do things such as stop for lunch, run an errand, etc. The way the case law reads, your employer has the option of paying you anytime you are "waiting to engage", but must pay you the entire time you are "engaged to wait".
I don't necessarily agree with it, and think you should be paid the entire time you are on the clock, but at least around here they aren't doing anything illegal. Just because it is legal, doesn't make it right.