В статье «Отладка приложений .Net 2.0» Джон Роббинс (из Wintellect) подробно пишет о том, как создавать и отлаживать отчеты о сбоях (миниатюрные дампы windbg / SOS). Его класс Superassert содержит код для их генерации. Будьте осторожны - для правильной настройки требуется много усилий: серверы символов, исходные серверы, а также хорошее знание VS2005 и windbg. Однако его книга проведет вас через весь процесс.
Что касается статистики использования, я часто связывал это с авторизацией, то есть пользователь имеет право выполнять определенную задачу. Проще говоря, это может быть такой метод (ApplicationActions - это перечисление):
public static bool HasPermission( ApplicationActions action )
{
// Validate user has permission.
// Log request and result.
}
Этот метод может быть добавлен к одноэлементному классу SercurityService. Как я уже сказал, это слишком просто, но должно указывать на то, какую услугу я имею в виду.