это нормальное, кода вместо удаления производится просто "иключение" для сокращения количества операций (к примеру удаление файла или виртуалки на хостинге). та же история с инкрементными ключами в базах...
к примеру: есть 100500 сообщений и у каждого свой id. происходит удаление 100-го, 378, 100499-го, 1-го, 53-го. сообщения удаляются в разное время и именно в этом порядке. по прямой логике получается, что надо пересчитывать каждый раз id и проставлять правильные - это всё ресурсы и, соответственно, быстродействие