Arriba pones de fondo la imagen, y luego abajo pones de fondo un gradiente, sobrescribiendo la imagen.
Prueba así:
Código CSS:
Ver original.cajaleft {
width:175px;
height:300px;
float:left;
-moz-border-radius: 25px 0px 0px 25px;
-webkit-border-radius: 25px 0px 0px 25px;
border-radius: 25px 0px 0px 25px;
-moz-box-shadow: 0px 0px 30px #1a3038;
-webkit-box-shadow: 0px 0px 30px #1a3038;
box-shadow: 0px 0px 30px #1a3038;
filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr = '#d4d4d4', endColorstr = '#e8e8e8');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr = '#d4d4d4', endColorstr = '#e8e8e8')";
background: url(../images/foto.png) -moz-linear-gradient(left, #d4d4d4, #e8e8e8);
background: url(../images/foto.png) -ms-linear-gradient(left, #d4d4d4, #e8e8e8);
background: url(../images/foto.png) -o-linear-gradient(left, #d4d4d4, #e8e8e8);
background: url(../images/foto.png) -webkit-gradient(linear, left top, right top, from(#d4d4d4), to(#e8e8e8));
background: url(../images/foto.png) -webkit-linear-gradient(left, #d4d4d4, #e8e8e8);
background: url(../images/foto.png) linear-gradient(left, #d4d4d4, #e8e8e8);
}