Когда вы повторно связываете функцию во второй раз, вы связываете только подмножество всего вашего кода - все, что он делает, выводит привязанный к статусу, но он не содержит никакого кода для выполнения тайм-аута во второй раз..
Также вам понравится функция .one()
.
Я исправил ваш код здесь: http://jsfiddle.net/eQUne/6/
function bindClick() {
$('#click').one('click', function() {
$('#status').append("bound ");
setTimeout(bindClick, 2000);
});
}
$(document).ready(function(){
bindClick();
});