Again, same problem I had. Any deviation from best practices or the "Windows Installer way" quickly snowballs into more and more workarounds.
Unfortunately I cannot see any other way, I can tell you what I have done, it may not be universally recommended but it works.
1.) Remove the event SetTargetPath from the InstallChangeFolder dialog, OK button (the directories are not initialised so this will fail.)
2.) Created an intermediate Public property (e.g. TEMPINSTALL) and on the DestinationFolder dialog, ChangeFolder button replace INSTALLDIR in the following condition with TEMPINSTALL:
[BrowseProperty] [INSTALLDIR] 1
You may want to give this property a default value in the property manager. Throughout the UI use [TEMPINSTALL] to display the user selected folder.
3.) Create a Type 35 CA, "Set a Directory" in the wizard with a source INSTALLDIR and destination [TEMPINSTALL], this replaces the SetTargetPath we removed earlier. This should do the trick.
Like I said earlier, I know its not the correct way of doing things so please no posts moaning at the methods, it worksfor me, and if it works for you thats all that matters.