In addition isn't this a deviation from most of the other base class libraries? I can't recall ever using a reference parameter to check for an error in the .Net libraries...in Win32 yes.

Personally I think one of the strengths of .Net is its uniformity. Even if a mechanism isn't perfect for every situation it makes life a lot easier if the mechanism is already known, i.e. the same in all base classes. 

IsValid and Parse (with an exception) seem a lot more intuitive then TryParse. 

Aaron