Convert.ToString() only allows base values of 2, 8, 10, and 16 for some odd reason; is there some obscure way of providing any base between 2 and 16?
You could give http://www.codeproject.com/KB/macros/Convert.aspx a try.