Есть вероятность, что сервер телеги ожидает от вас время UTC+0, а вы, возможно передаете время своего часового пояса, (UTC+3 или где вы находитесь), поэтому пользователь блокируется не на 30 секунд, а на 3 часа 30 секунд (опять же, если у вас часовой пояс +3)
Также в документации Bot API указано, что если время бана меньше 30 секунд или больше 366 дней, то пользователь блокируется навсегда.
Я бы начал проверку с часовых поясов.
UPD
А вы точно правильно используете метод
restrict_chat_member?
await bot.restrict_chat_member(chat_id=message.chat.id,
user_id=message.reply_to_message.from_user.id,
until_date=ban_time,
permissions=ChatPermissions(can_send_messages=False)
)
Все разрешения нужно передавать через отдельный объект
ChatPermissions в параметре
permissions