Anche a me sembrava!!
Infatti ho provato facendo:

TCHAR strFilter[] = { TEXT("Picture Files (*.bmp)|*.bmp||") };
CFileDialog dlg(TRUE, TEXT(".bmp"), NULL, 0, strFilter);
dlg.m_ofn.lpstrInitialDir = myDir;
dlg.DoModal();

ma invece di aprire dalla directory myDir continua ad aprirmi l'ultima directory che ho utilizzato nella precedente esecuzione dell'applicazione...