Here is the problem:
StreamWriter sw = new StreamWriter(@"C:\Documents and Settings….closedtrades.csv",true);
You need to delete the first "StreamWriter" from this line. Right now it is declaring a new variable with local scope, which means the class variable you created is not being set.
Also, since your sw variable is declared in your system class, to access it from your symbol script class (ie in the order filled method), you will need to first refer to the system class instance. This is available via the TradingSystem property, so you can write "TradingSystem.sw.WriteLine(msg);".
EDIT: Darnit, looks like Mark beat me by two minutes