Los navegadores asignan los valores a los colores de diferentes maneras. Algunos usan la notación #FF0000 para rojo, pero otros usan rgb(255,0,0). Es por eso que la comparación no siempre será válida. En tu caso quizá podría servirte 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=utf-8" />
<title>Documento sin título</title>
<style>
#caratula{ border-width:1px; border-style:solid}
</style>
</head>
<body>
<script>
function colorear(div,si)
{
var capa = document.getElementById(div);
if(si)
{
capa.style.borderColor = "#FFFFFF";
}
else
{
capa.style.borderColor="#FF0000";
}
}
</script>
<div id="caratula" style="border-color:#FF0000;">
Votar por esta caratula?<input type="checkbox" onclick="colorear('caratula',this.checked);">
</div>
</body>
</html>