You know, I wish that I knew how to contribute to Mono.
I was having a look at their SqlTypes implementation this morning, because I'm working on my own type library that does similar stuff (except not SQL Server specific). The current SqlBinary.Concat operation varies to the MS implementation, and the SqlBinary constructor doesn't handle a null byte. That's not all though. The GetHashCode implementation is totally bogus, and Value is passed around *by reference*, there are other problems too. It's terrible, terrible, terrible.
I'd fix it for them, but I don't know how to get involved.