No site Codeproject, existem um projeto bem interessante de download simultâneo,
MyDownloader: A Multi-thread C# Segmented Download Manager.
Ele é multi-thread, inclusive com particionamento dos arquivos, comum nos Gerenciadores de Download, de uma olhada:
http://www.codeproject.com/KB/IP/MyDownloader.aspx
Outro projeto com código e tutorial é o Creating a download manager in C#:
http://www.geekpedia.com/tutorial179_Creating-a-download-manager-in-Csharp.html
Quanto a gerenciar o status, você pode exbir Progress Bar em algum Forms, no WPF e Windows 7 você poder usar o Window.TaskBarItemInfo ou exibir um controle Windows Forms no System Tray, com a classe NotifyIcon.
Aonde disponibilizar o Gerenciador de Download, depende da arquitetura da sua aplicação, pode conter camada de serviços ou não, enfim, ai realmente é uma escolha pessoal.
Abraços,
Eliezer Perlmutter - Professional Scrum Developer - Microsoft Student Partner MCPD Windows/ASP.NET/Enterprise Application Developer 3.5 MCPD Windows/Web/Enterprise Application Developer. http://eliezer.net.br/