If you are completely new to the programming I would suggest starting with something simpler. A chat app is good enough example to get you going as far as network programming is concerned but I'm not sure it's simple enough for a programming newbie.

But if you really want to do that Socket class from a System.Net.Sockets namespace is excellent replacement for the mswinsck.ocx. It supports event driven, synchronous or asynchronous model. You definitely do know when a client disconnects. There is an abundance of documentation on MSDN and many many samples on the Internet. Check out http://www.codeproject.com, it's chock full of smaller code snippets that are easy to digest, especially if you like to learn from example.

Finally, connecting to 100,000+ users is not going to be possible, regardless of the asynchronicity of your server.  Windows XP will choke after about 500 connections - it will work but the network access will be really slow. That's why most P2P apps out there actually limit number of the connection to something more reasonable. My BitTorrent implementation for example uses only about 60 connections for each torrent. And I do use asynchronous multithreaded sockets, there's nothing magic about this kind of approach.