Я не эксперт по SQLite, но, насколько я пытался, возможно делать точки сохранения только внутри транзакций, но не наоборот.
И AFAIK, читая онлайн-документацию, точки сохранения и транзакции, по сути, одинаковы, различие заключается в стеке транзакций, в которые записаны точки сохранения. Вы можете открыть определенное количество точек сохранения (помня порядок размещения в стеке) и, проверив, что все в порядке, выполнить фиксацию транзакции. Я не знаю, поможет ли это вам.