No está cerca de una terminal para verificar, pero creo que debe escribir enlazarlo a INT y enviarlo como INT, no como "b010101" (o lo que sea):
$sql='INSERT INTO test(id,data) VALUES(:id,:bit)';
$stmt=db::db()->prepare($sql);
$stmt->bindValue('id', null, PDO::PARAM_NULL);
$stmt->bindValue('bit', (int)$value, PDO::PARAM_INT);
$stmt->execute();
Una verificación rápida en Google mostró esta respuesta anterior similar .