Потому что вы обработчик вешаете после загрузки страницы, когда второго ДИВа еще не существует.
Так работает:
<div>Первый Div</div>
<button>Создать</button>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function() {
$("body").append("<div>Еще один Div</div>");
$("div").click(function() {
$(this).replaceWith("<div>Заменен</div>");
});
});
});
</script>