When the msg has finished the fadeOut animation it is hidden, and there isn't anything in your code to show it again, so it remains hidden. "fadeOut" just animates from the current visibility to not shown, but if it is already not shown then it has nothing to do, it remains not shown.
The update below stops the animation if it is currently running (stop), resets the opacity (fadeIn) then starts the fadeOut again.
function Alertmessage()
{
$('.showMsg').hide();
$('#msg').empty();
$('#msg').html('End Index Must be greater than Start Index.');
$("#msg").css("color", "red");
$('#msg').stop();
$('#msg').fadeIn();
$('.showMsg').show();
$('#msg').fadeOut(5000);
}