El problema es que le estás diciendo a tu div que tenga el 100% de algo (tu td) que es el 60%, pero 60% de qué?, de un tr que la contiene?
lo que tenés que hacer es asignarle un alto que no sea porcentual a tu celda.
Cuando quitas el Doctype, la cosa cambia, empiezas a trabajar en lo que se denomina "quircksMode" (
http://sigt.net/archivo/que-pasa-en-...rks-mode.xhtml ), en donde el modelo de caja se rompe, y cada navegador hace lo que se le ocurre, deberias usar algo asi
<!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>Div gris</title>
<style type="text/css">
<!--
.dgris {
background-color: #333333;
height: 100%;
width: 100%;
}
.tdx {
height: 100px;
}
-->
</style>
</head>
<body>
<table border="1" cellspacing="1" cellpadding="1">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td rowspan="3" class="tdx"><div class="dgris">Div Gris</div></td>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
Saludos