Через столько времени решение всё же найдено
Оказывается при обработки виджетов в диалогах они намертво застревают в DOM страницы. Когда открывается второй диалог, у которого элементы имеют те же id что и у первого, то они не обрабатываются т.к. Dojo видит уже существующие виджеты с такими id.
Поэтому в onClose или onHide диалога нужно прописать вызов функции, которая бы ко всем виджетам которые есть в форме вызывала dijit.byId('widget_id').destroy() предварительно уничтожая и сам диалог.