Here's some quick test code to check the issue:
$form = new \IPS\Helpers\Form;
$form->add( new \IPS\Helpers\Form\Checkbox( 'example_checkbox', NULL, TRUE ) );
if ( $values = $form->values() )
{
var_dump( $values );exit;
}
The code will always output either FALSE or TRUE, but it will never throw an error telling you you must select the checkbox.
This happens because of the validate function in \IPS\Helpers\Form\FormAbstract:
/**
* Validate
*
* @throws \