Añado un poco de leña al fuego:
 
Quitando todo lo general y dejando sólo lo específico, estos son los códigos: 
DIVS + CSS 
 Código HTML:
 <style type="text/css">
html, body {
	height: 100%;
	width: 100%;
	margin: 0;
}
#caja {
	display: table;
	height: 100%;
	width: 100%;
	position: relative;
}
.centrado {
	display: table-cell;
	vertical-align: middle;
	margin: 0 auto;
	height: 100%;
	width: 100%;
}
.texto {
	position: relative;
	top: 0;
	display: block;
	background-color: #f00;
	color: #fff;
	height: 30%;
}
</style>
<!-- -->
<div id="caja">
	<div class="centrado" style="*position: absolute;*top: 50%;*height: 30%">
		<span class="texto" style="*top: -50%;*height: 100%">
		Texto de prueba, más texto de prueba, otro texto de prueba y el último texto de prueba
		</span>
	</div>
</div>  TABLA Y CSS 
 Código HTML:
 <style type="text/css">
html, body {
	height: 100%;
	margin: 0;
}
.tabla {
	width: 100%; 
	height: 100%;
}
td {
	height: 100%; 
}
.texto {
	height: 30%;
	background-color: #f00;
	color: #fff;
}
</style>
<!-- -->
<table cellspacing="0" class="tabla" cellpadding="0">
	<tr>
		<td><div class="texto">Texto de prueba, más texto de prueba, otro texto de prueba y el último texto de prueba</div></td>
	</tr>
</table>  Bye