Почему код срабатывает только один раз?
Покажите структуру html
Почти уверен, что решением будет обработчик вешать вот так : $('#messages_area').on('click', '.delete_message_link', function(){
Это происходи по следующей причине:.delete_message_link
у вас находятся внутри #messages_area
При загрузке страницы скрипт отрабатывает и навешивает обработчик на каждый элемент с классом: .delete_message_link
После этого вы перезаписываете содержимое  $('#messages_area').html(data); и, соответственно, на новых элементах обработчиков события уже нет.
Решением может быть навешивание обработчиков повторно после изменения содержимого  $('#messages_area').html(data);