I noticed that using SetupMutex not always produce the desired effect if you have multiple languages.
In that case, the warning about another running setup is displayed only after selecting a language, which is weird.
In my rationale, the previous lang dialog creates expectancy to the user just to be trolled by the SetupMutex dialog which blocks him. So, I think that the SetupMutex dialog should run before all the Inno and custom dialogs by default.