As you observed, Windows is already logging these events and recording them in the Windows event log that you can view by using the Event Viewer.
In addition, you can write programs to read items from the event log as well as log additional events that you define.
As for security, if your users are running as normal users (Under XP, Vista or Windows 7; it doesn't matter) and not as administrative users then they will not be able to delete items from the event log.
Finally if you are on a network you can use the Event Viewer to look at the log on any of the Windows computers, not just the one you are sitting at. Similarly you can write a program that collects log data from all of the computers on the network (that are turned on) and analyze it for you.