How are a managed event and a kernel object event different?
Managed events do not use operating system specific objects. Any object can create and fire managed events, but kernel object events require the use of a certain object that must be signaled in order for that event propagate to appropriate handlers.
What happens to a thread if it is in the Stopped state and is restarted with a Start function call?
Your application will throw an exception. Once a thread is in the Stopped state, it cannot be restarted.
What is the difference between a thread delegate and a thread callback function used in the WIN32 API? What advantages does the delegate method give you?
Thread delegates are contained within the class scope they are created in. In other words, the delegate has full access to the public and private variables within the class. WIN32 callback functions must either be global functions or static member functions within a class. In both cases, you do not have access to class member variables.