Я решил это ("Database is locked") путём прокси всех запросов и глобальной очередью к бд. А нормальные обертки провайдера sqlite умеют синхроинть код (запрос) автоматически. Это в любом случае не подходит для высоконагруженного бота, но решает проблему, если запросов не много, но могут быть почти одновременно.