I think it defaults to somewhere here if the folder does not exist:
\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\
Couldn't find a quick way to decoded those MRUs properly though.
I use a custom version of _FileOpenDialog_Ex() to reset @workingdir to the initial script workingdir (because the new workingdir is blocked from deletion).
Add a test to initdir there and you're golden.
Func _FileOpenDialog_Ex($sTitle, $sInitDir, $sFilter, $iOptions = 0, $sDefaultName = "", $hWnd = 0)
#cs
https://groups.google.com/forum/?hl=en&fromgroups=#!topic/microsoft.public.vc.mfc/HafQr4gIRY0
The problem is that GetOpenFileName changes the current directory to the
last browsed one. The current directory and any of its parents cannot be
deleted.
#ce
Local $sWorkingDir = @WorkingDir
if not StringInStr(FileGetAttrib($sInitDir),"D") then $sInitDir = @ScriptDir
Local $sFilename = FileOpenDialog($sTitle, $sInitDir, $sFilter, $iOptions, $sDefaultName, $hWnd)
Local $iError = @error
FileChangeDir($sWorkingDir)
Return SetError($iError, 0, $sFilename)
EndFunc ;==>_FileOpenDialog_Ex