QuickFormのcheckboxでvalueの値を1以外にする方法をみっけたので書き込んでおく。
(どっかのスレでやり方探してる人いなかったっけ?)
もし既知のことだったら知ってたらスルーして下さい。

$chk =& $form->createElement("checkbox");

$tmp = $chk;
$tmp->setName("chk[1]");
$tmp->setLabel("No. 1");
$tmp->updateAttributes(array("value"=>"NO1"));
$form->addElement($tmp);

$tmp = $chk;
$tmp->setName("chk[2]");
$tmp->setLabel("No. 2");
$tmp->updateAttributes(array("value"=>"NO2"));
$form->addElement($tmp);

名前を[1]、[2]と配列の添字を指定してやれば、GET or POST後にちゃんと
チェック状態になってくれる。
http://www.php.net/manual/ja/faq.html.php#faq.html.arrays
ここみたいに添字を指定しないと、HTML_QuickForm_elementの_findValue()が値を返せないみたい。

QuickFormのnewってどれも重い気がするので、フォームが多い画面作るときは
オブジェクトをコピーしたほうがいいね。