JQuery — Программируемый вызов события click()?
Проверять нужно по событию onChange, так как оно происходит после клика. 

$(".checkbox").bind("change",function(){
   if ($(this).is(":checked")) {
      // true
   }
})

Сходу напрашивается такое объяснение — при программном вызове клика по чекбоксу вы вызываете лишь соответствующий обработчик, не меняя значение атрибута checked, к которому вы обращаетесь через $(this).attr('checked').