Обычно, нет, если ваш WindowProc не делает это так.
Класс Window (например, CWnd в; FC и CWindow в ATL) - это отдельные объекты из концепции окна ОС (я буду обозначать как HWND). У них разные времена жизни, но их можно «соединить» вместе с помощью WNDPROC.
IIRC, MFC удалит производные от CView классы, но не большинство производных от CWindow. Кроме того, CWindow ATL само по себе не будет уничтожено, поскольку по умолчанию это только одностороннее вложение (то есть присоединение CWindow к HWND обычно не подклассирует окно).
В большинстве случаев вызов деструктора осуществляется с помощью другого механизма:
CDialog foo;
foo.DoModal();
Когда диалоговое окно закрыто, область, в которой объявлено foo, будет закрыта и будет вызван деструктор foos.
Аналогично, закрытие главного окна приведет к завершению работы приложения, что приведет к разрыву экземпляров.