При переходе по записям реестра генерируется событие OnDatasetAfterPositionChange даталинка dlData. В обработчике этого события нужно прописать логику определения, какая именно запись выбрана (в обработчике можно напрямую обращаться к полям датасета Dataset.Values('...')), а затем прописать необходимый USI окна редактирования в свойство EditWindowUSI объекта базового реестра BaseGridArea через присвоение BaseGridArea.EditWindowUSI = 'wnd_YourWndEdit'
Возможно Ваш вариант также рабочий, не проверял. Просто при отображении окна редактирования (а это делается в базовых скриптах) используется BaseGridArea.EditWindowUSI, поэтому я его попытался изменить во время выполнения, проверил, что окно действительно подменяется, а затем порекомендовал Вам такой путь решения.