I'm not sure about .NET in particular, but I've wasted about three months searching for the ideal WYSIWYG editor, that had similar requirements to what you're looking for, plus I was looking for one that could be easily customized and integrated with a library of your choice.
List of editors that I've tried:
- TinyMCE - easy to integrate, has some of the features you are looking for out of the box. But good luck if you try extending it with something more.
- WYMEditor - not strictly a wysiwig, but can be easily turned into one with some clever styling and in my experience it's rather easy to customize it - I've integrated it as a JQuery UI widget in a project of mine.
- CKEditor - nice, has that CKFinder widget to integrate it with. However, i found it tedious to customize it, so I stopped using it.
- jHTMLArea - this is one of the more interesting I tried. It's hosted at Codeplex, so I assume it can be integrated with .NET easily (search through the docs - I wasn't using it with .NET, but i bet there's something about .NET integration in there). Also, it is rather easy to customize, so I'd recommend using this one.
To sum it up, while these aren't strictly ASP.NET, you can easily make your own custom component out of any of them. Two of them are dependent on JQuery to work (jHTMLArea and WYMEditor) and may not be a lot of help for your projects. But if you decide to go for a custom solution, I recommend looking into the code of these two as an example.