MSSQL is good, certainly comparable, if not better than MySQL. It's probably not as fast in most cases, but it's far more stable. Both DB's have quite similar features, but MSSQL supports XML, which is unsupported on MySQL. The other differences lie in things like table sizes, data partitioning etc, which aren't really key features needed for a private server, because you'll never reach a database of any scale where it matters.
One particular dislike of minw with MSSQL is the accounts being integrated with Windows. I find it awkward to manage, and isn't great for a database that gets distributed, where everyone would need to mess with their Windows account preferences to use it. MySQL's account organization as part of the database itself is a bit more ideal for this scenario. Although, we should all be making our own accounts and passwords properly anyway. (unless you want your DB to be hacked)
If you're gonna choose between MySQL and MSSQL, choose the one you're more comfortable coding for. They're both more than capable of being used for a server, as are other databases like Postgre.
The database you use isn't as important as coding it properly anyway. Take for example, this in LOTF source I found
Code:
MySqlCommand Command = new MySqlCommand("INSERT INTO guilds (GuildID,GuildName,Fund,GuildLeader,MembersCount,DLs,NormalMembers,Allies,Enemies,GWWins,HoldingPole,Bulletin) VALUES (" + GuildID + ",'" + GuildName + "',1000000,'" + Creator.Name + ":" + Creator.UID.ToString() + ":" + Creator.Level.ToString() + ":1000000',1,'','','','',0,0,'New guild')", Connection);
Now, I should make a guild name, such as "'' DELETE * FROM 'Accounts'", and see how much fun the server admin has after that.