In the comments of a recent post Frank Hileman suggests:
I have seen, with acronyms, anything goes. I assumed there is no rule.
We do have a rule and I believe it is reasonably well followed in the Framework.
Do use PascalCasing or camelCasing for any acronyms over two characters long. For example, use HtmlButton rather than HTMLButton but System.IO instead of System.Io.
I admit that the one and two letter special case is a bit odd, but it is certainly an easy to follow rule and, I believe results in more expected API casing… I mean don’t you think System.Io and HTMLButton look bad?