Pasa que no todos los navegadores toman esos estilos para checkboxes (Firefox, por ejemplo, los ignora). Sin embargo, lo que podrías hacer es envolver el checkbox en una capa y establecer el estilo sobre la misma. Algo así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<div id="pp" style="padding:2px; background-color:#FFF; text-align:center; width:20px;"><input type="checkbox" name="checkbox" value="checkbox" onclick="if(this.checked){this.parentNode.style.backgroundColor='#ffbcbc';this.parentNode.style.borderStyle='solid';this.parentNode.style.borderWidth='1px';this.parentNode.style.borderColor='#c24949';}else{this.parentNode.style.backgroundColor='#FFF';this.parentNode.style.border='none';}" /></div>
</form>
</body>
</html>