See the question and my original answer on StackOverflow

This is not a bug. The Shell GUI shown in Explorer (and partially in Common Dialogs) is more or less organized like this:

Windows Shell GUI

The IFileDialogEvents logic is the following:

So, we can't trust GetCurrentSelection() in the OnFolderChange event.