Thanks guys,
Of course, I should have known to try that ... but that's what I get for doing this on a lack of sleep.

All is now handled ... but, for the curious I've included what I found as it does have me scratching my head a bit.
I narrowed the issue down to a small function I have that updates the contents of a ComControl in the dialog.
I use the same pattern for all of my dialog scripts - I create a subroutine called getControlValues() which reads out control values into a set of variables I can access easily. This subroutine is called in the dialog callback to update values and control statuses based on user interactions.
The getControlValues() subroutine was calling a function (updatePreviewImage) to update the ComControl.
The call to updatePreviewImage was the culprit. If I didn't call the updatePreviewImage function, everything exited fine.
This only seems to be a problem when executing that updatePreviewImage() function and exiting inside the
same handler in the dialog callback. i.e. - My OK button processing only fails to exit when I include the getControlValues() -> updatePreviewImage() call within it. As soon as I remove the call to updatePreviewImage() from the getControlValues() subroutine, it will exit. Likewise, my Close button processing was working properly, but as soon as I included a getControlValues() with updatePreviewImage(), it failed to exit.
So my solution was to move where I called the updatePreviewImages function into the dialog callback directly and everything is now working fine.
But I've included the function out of curiosity ... it's my first time using a ComControl ... am I missing something I should be doing?
#defineFunction updatePreviewImage( dialogHandle, controlName, preview_path )
;// GET OBJECT REFEFENCE TO COMCONTROL AND LOAD HTML DOCUMENT
document = dialogObject( dialogHandle, controlName, 3 )
globalsArray = ptrGlobal( globalsArray )
configDir = arrayValueGet( *globalsArray, 'config' )
doc_template = fileGet( configDir:'\resources\web\html\dialog_image_preview.html', '' )
document.open()
if fileExist( preview_path )
doc_template = strReplace( doc_template, '{{img}}', '<img id="preview" class="preview_image" src="':preview_path:'">' )
else
doc_template = strReplace( doc_template, '{{img}}', '<p id="preview">Preview Not Available.</p>' )
endif
document.write( doc_template )
document.close()
document = 0
return 1
#endFunction
Regards,
Micheal