The thing about outsourcing is that, as long as there is more than one employee, it tends to be done by companies. The advantage there is companies tend to pirate much less than individuals. For that reason you could very easily still charge by the hour/month/employee/client for a self hosted business model. To me I view the client as the money maker, which can remain closed source very easily.
Anyway, just to help out, here are the things I'd change about the software used by my current group:
1) It doesn't have a feature for offline monitoring. Given my employees are in the Philippines, a lot of them get a lot of lag on their net connection depending on what they are doing. In particular my Flash guy regularly turns off the client because it slows him down that much. It would be nice if the system would continue taking screenshots, and then bulk upload them when the connection is re-established.
2) The system has a note tracker, it auto nags the employee every half hour for them to say what they are up to. It also measure the amount of time it takes for the employee to respond. This timing makes it pretty easy to spot a lazy employee.
3) There have been many times when I've wanted to see a bigger screenshot, or find out what is being typed. In these cases it would be good to browse with thumbnails, and then have fullscreen shots. It would also be nice to capture keystrokes when the client is active.
4) The timesheets are a bit of a mess, it would be nice to adjust the timezone they are run on so certain employees don't run into two days for the same work day.
5) I get emailed daily with a list of my employees and what they were doing that day, it's pretty convenient.
6) This is a bit far stretched, but it would be great to be able to designate 'work folders' on a clients machine and then have the ability to remotely wipe them. This would of course be somewhat stealth, but the last time I fired someone I really hated to have to remote into the machine and watch them delete my files that way. It would be much better if I could click to delete and not have to worry about them walking off with my code after I give them the boot.
7) Full control over screenshot interval would be great. Also some employee time management alerts would be good. If someone doesn't log into work on-time, I want to know about it.