Библиотека ConsoleEx, давно написанная Microsoftie, Tim Sneath, может сделать некоторые продвинутые раскраски и записи на позиции. Как правило, это намного лучше, чем консоль, даже консоль .NET 4.0 (насколько я могу судить).
У меня был некоторый успех с индикатором прогресса. Этот блок вызывается из события и может вызываться из нескольких потоков. он отображает 1% и при необходимости увеличивается на одну строку.
private object thislock = new Object();
void UpdateProgress(DownloadProgressChangedEventArgs e)
{
lock (thislock)
{
for (int i = 0; i < 50; i++)
{
Console.Write("\b");
}
Console.Write(e.ProgressPercentage.ToString() + "%");
}
}