Если связанные таблицы связаны между собой Relation-ом и есть Delete Action от главной таблицы к подчиненной с режимом Cascade, то удаление записей из главной таблицы автоматически удалит записи из подчиненной.
Например:
X++:
delete_from journals where journals.Status == 0
удалит не только журналы, но и их строки.
Далее, delete_from - самостоятельный оператор и while select, да еще и с транзакциями ему не нужно
Inner Join поддерживается (непонятно, откуда такая информация, что не поддерживается). Правда удаление все равно будет идти только из одной таблицы. Например:
X++:
delete_from trans join journals where journals.RecId == trans.journalsRecId && journals.Status == 1
Такая конструкция удалит строки только из тех журналов, у которых статус =1 (внимание - если есть Relations и Delete Actions - то эта конструкция упрощается до просто
X++:
delete_from journals where journals.Status == 1
)