Цитата:
Вопрос же в том, чтобы не сохранить подчиненный датасоурс раньше
главного, а проверить подчиненный (и ... главный ... все что угодно), а
потом сохранить.
Гхм... ЭТО ЖЕ ЭЛЕМЕНТАРНО, ВАТСОН!
Проверяйте содержимое подчинённого датасоурса из validateWrite подчиняющего, а не из его собственного validateWrite.

(а в собственном validateWrite вообще ничего не делайте). Тут нужно определить:
а) есть ли уже в базе хотя бы одна запись подчинённая master-записи
б) если нет, то находятся ли в подчинённом датасоурсе данные которые форма намеревается сохранять в БД
в) если находятся, то проверить заранее являются ли они корректными (потому как в дальнейшем возможно им будет отказано во внесении в БД например по причине дублирования уникального индекса)
Тут вся сложность в последних двух пунктах - как проверить есть ли в datasource запись которую форма будет сохранять в БД я прямо сейчас не знаю, но способ этот просто обязан быть, т.к. самой форме тоже нужно как то определять этот момент.
Ну и последний пункт думаю тоже не будет большой проблемой.