Как минимум потому, что "0" != "00":
<style type="text/css">
.palette td {
width: 1em;
height: 1em;
}
</style>
<script type="text/javascript">
<!--
function _init() {
var pNode = document.createElement("TABLE");
pNode.className = "palette";
for (var r=0; r<=255; r+=51) {
for(var g=0; g<=255; g+=51){
var pTr = document.createElement("TR");
for(var b=0; b<=255; b+=51) {
var pTd = document.createElement("TD"),
color = "#" +
(r ? r.toString(16) : '00') +
(g ? g.toString(16) : '00') +
(b ? b.toString(16) : '00');
pTd.onclick = function(color){
return function(){
draw.color=color
}
}(pTd.style.backgroundColor = color);
pTr.appendChild(pTd);
}
pNode.appendChild(pTr);
}
}
document.body.appendChild(pNode);
}
-->
</script>
<body onload="_init()"></body>