1. Зачем здесь .live()? Он же устрел. И почему не обойтись обычным .click()?
2. В чем смысл проверки ($(this).children().attr('checked')==true), если левая часть выражения истинна, то и так пойдем по первой ветке условия.
Ну и как то так тоже должно работать:
$('ul[class=prof_list]>li').click(function(){
var check = $(this).children();
check.attr('checked', !check.attr('checked'));
});