На самом деле в 2007 экселе эта проблема решалась - при открытии второй книги эксель ставил в заголовке название файла вперед, а при ее закрытии забывал сменить обратно. Соответственно, спасал макрос:
Set wb = Workbooks.Add
wb.Activate
ActiveWindow.Close
В 2010 склероз вылечили, а я уже несколько файлов переделал под новые контролы, и переставлять обратно 2007 не хочется.
WinAPI - это мысль, попробую. Получится - отпишусь.
Час моего времени, потраченного на ковыряние WinAPI, к сожалению, значительно дешевле монитора на 45 дюймов.
UPD
Код:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Sub Workbook_Open()
УбратьПрефикс
End Sub
Sub УбратьПрефикс()
Dim hwnd As Long
Dim Заголовок as String
Заголовок = ActiveWorkbook.Name
hwnd = FindWindow(vbNullString, "Microsoft Excel - " & Заголовок)
if hwnd > 0 then SendMessage hwnd, WM_SETTEXT, 0, ByVal Заголовок
' OnTime нужен, так как через некоторое время эксель сам меняет заголовок обратно
Application.OnTime Now + TimeValue("00:00:10"), "УбратьПрефикс"
End Sub