Usually with command line applications, you can look at the return code (ERRORLEVEL in batch files). 0 means success. Everything else means some kind of failure.
Why are you using csc through the process API instead of using the System.CodeDom.Compiler API? This will give you the same effect (in fact, it calls csc internally), but is cross platform, handles errors, allows you to more easily tweak options programmatically, etc.