Take a look at .net Charting and Chart FX Maps (I've never used these before).
Maybe...
Use the Google Map API. You can't draw circle overlays, but you can draw polygons. Here's the API for drawing polygons. An 8-sided polygon already looks pretty circle like. You could experiment with more sides to see how that looks.
Here's the API reference for the Google GPolygon class:
http://code.google.com/apis/maps/documentation/reference.html#GPolygon
I've used MapServer for many projects and it works well and is very flexible. Haven't tried the .NET bindings though:
http://www.paolocorti.net/2006/09/20/mapserver-tutorial-for-c-mapscript-asp-net/
GeoNames offers a data set and open source libraries for geo mapping
I've used Fusion Maps for things like this. It is flash based with a javascript API. You can easily feed it either a static XML file to start, but I've also built various webservices to give it dynamic capabilities. There are many options to change the look and feel of the map as well.