I'd like to know if there is a programming hook or some other feature in windows vista and IE 7 or 8 that would let a computer administrator let the user think they were deleting their web browser history but actually just copy it off to another folder. The new folder would use the date and time deletion was attempted as its naming convention. This would be used in place of a parental control program and as far as the user knows they have deleted the browser history.
Never write a program that reports a result that's different from what actually happened.
It's far more effective to just tell the user that they are being monitored.
There is no supported way of doing this. There are no hooks. The Delete Browsing History feature does not have any extensibility points.
The right way to monitor is using a proxy (as mentioned in other answers). Alternatively, you could redirect the cache folder to a network share and have the network server make backups of it as often as you want. Or you could write a local script to do something similar.
Or just use the built-in IE parental controls.
Or, if you really want to, since IE just calls a helper method in inetcpl.cpl, you could detour the ClearMyTracksByProcess method exported by inetcpl.cpl and fake the UI while doing whatever you wanted to. But I really don't recommend doing that. Actually that would probably work quite well, aside from being really evil.