I consider the fact that it is necessary to change the selected item in the "Files of Type" combo box to "All Files (*.*)" and back to "Directories" before you can successfully select a directory (at least on Windows 7) to be a bug. I am looking into this problem and will attempt to fix it.
By the way, does anyone know why we do not use SHBrowseForFolder if only_dir_p is non nil instead of GetOpenFileName? In my opinion, SHBrowseForFolder provides a much cleaner interface for browsing for an existing folder name than GetOpenFileName. I know that the online version of the MSDN Library claims that Windows XP is required for SHBrowseForFolder but according to the MSDN Library that ships with Visual Studio 2005 the minimum supported operating system is Windows NT 4.0 and Windows 95.