Well, we're going to need a little more detail here. Unity version? TSP version? CM version? What errors appear in the application event log when you start Unity and it fails to start?
The error messages in the event log will give us a clue as to what's going wrong during the startup sequence - there will be a series if CREATE then INIT then RUN events for each Unity component - somewhere along the way you'll see one of them throw an error and then the process will reverse and Unity will go off line.