Replicon's Time tracking
software seems to be a good choice for all your requirements. I have been using it since 4 years without any difficulty and very much satisfied with their services.
Outstandingly good interface--very easy for everyone to use. Lots of flexibility and power that's also easy to configure. It runs in a browser so it's also easy for your workers to log their time.
Check out: http://bit.ly/tjU7o6