К сожалению пока не имею возможности проверить. Но так или иначе точно не работали message_id и session_id (это точно) на своём тестил и на чужих навыках, дальше первого сообщения они не уходили. Если session new не был затронут, делаем выводы и проверяем кортежем через или.
ну по остальному, тут не вкурсе как там и что. Я не использую, у меня свои сессии. но вот именно флаг new - использовался, и должен был возвращать юзера в стартовый контекст диалога, если с ним есть проблема.
У меня он в логах /start, но повторов в рамках одного диалога нет