Кстати, замечу, в этом примере тоже, сколько не обновляй страницу, цифры не изменятся. Меняются они только при отправке формы (а как часто - зависит от testLimit).
if($this->showRefreshButton)
{
$cs->registerScript('Yii.CCaptcha#'.$id,'dummy');
$label=$this->buttonLabel===null?Yii::t('yii','Get a new code'):$this->buttonLabel;
$button=$this->buttonType==='button'?'ajaxButton':'ajaxLink';
$html=CHtml::$button($label,$url,array('success'=>'js:function(html){jQuery("#'.$id.'").attr("src",html)}'),$this->buttonOptions);
$js="jQuery('img#$id').after(\"".CJavaScript::quote($html).'");';
$cs->registerScript('Yii.CCaptcha#'.$id,$js);
}
Т.к. showRefreshButton равен true, то он точно должен отрабатывать (на всякий случай проверьте, есть ли внизу js код, отвечающий за капчу). Как видно, тут активно используется jQuery, поэтому напрашивается вопрос: а подключен ли он?