После некоторого прочтения и просмотра кода FMDB я обнаружил, что неправильно использую возвращаемые значения SQLITE_BUSY и SQLITE_LOCKED.
Согласно коду FMDB, следует выполнить цикл для ограниченного числа повторных попыток, ожидая короткое время между.
Итак, я реализовал это в своем коде, и все, кажется, работает нормально.