Добрый день.
Вопрос в большей степени к Dmitry Arefiev
Используется среда разработки Embarcadero® Delphi 10.1 Berlin Version 24.0.25048.9432
БД: Firebird 2.5
На сервере приложений при помощи FireDac (FDQuery) используется связка Master-detail (FDQuery1 -> DataSource -> FDQuery2)
На клиент все это дело передается через один TDataSetProvider.
На клиенте разворачивается соответственно в ClientDataSet1 (master) и ClientDataSet2 (detail)
Проблема возникает если в master таблице нет записей.
В этом случае возникает зависшая транзакция и все изменения начинают происходить в рамках этой транзакции, соответственно в БД они записываются после закрытия клиента.
Может у FDQuery есть какая-то волшебная галочка, которая исправляет эту проблему?
Я сделал тестовые БД и пример, который воспроизводится в дизайн-тайме.