Gracias 
masterpuppet ! 
Parece una tonteria,  pero me hiciste volver a revisar la funcion hasta sacarle el jugo y pude corregir el problema ! 
 
Pero, ahora me viene otro tema... No se que sucede con la plantilla, ya que yo le hago un die(); al error para ver hasta donde llega el problema y me encuentro con que la funcion de leer la plantilla le llegan las mismas rutas hacia distintos archivos pero uno no los lee y el otro si, cuando las rutas son correctas y los dos ficheros existen:  
 Código PHP:
    $this->tpl_file = 'directorio/' . $_DIR . '/' . $template_file . '.tpl'; 
    
  Yo mas adelante le hago un die($this->tpl_file); para ver la ruta de la plantilla a cargar, y en ambos casos figuran ficheros validos y existentes. 
En el raiz de mi sitio cargo la plantilla por ejemplo en el fichero register.php asi:  
 Código PHP:
    <?php
    include_once("template.php");
    $Contenido=new Plantilla("register");
    $Contenido->asigna_variables(array(
                    "w_register_msg" => "Registrate Gratis en la Web"
                    ));
    $ContenidoString = $Contenido->muestra();
    echo $ContenidoString;
?>    
  Ahora, dentro del directorio de las plantillas html tengo el fichero register.tpl en el cual muestro el html con esas variables (w_register_msg) y todo va bien.    
Y funciona perfecto! En el die($this->tpl_file); me muestra el directorio perfectamente: directorio/14251/register.tpl 
Ahora, quiero cargar otra plantilla, pero en vez de estar en el raiz del sitio, esta en otra carpeta, ya que intenta ser un bloque aparte: 
/bloques/hello.php 
Y esta todo igual que en el register.php salvo el path hacia los ficheros, ya que esta nivel por encima:  
 Código PHP:
    <?php
    include_once("../template.php");
    $Contenido=new Plantilla("hello");
    $Contenido->asigna_variables(array(
                    "w_hello" => "Hola Mundo !!!"
                    ));
    $ContenidoString = $Contenido->muestra();
    echo $ContenidoString;
?>    
  Y en el directorio tengo tambien su respectivo directorio/14251/hello.tpl donde muestro la variable en php como antes:    
Pero en este caso, si bien el die($this->tpl_file); me muestra la ruta correctamente, la mencionada arriba y existe tambien, pero me da error asi:  
Código:
 Warning: fopen(directorio/14251/hello.tpl) [function.fopen]: failed to open stream: No such file or directory in C:\...
  Ahora me quede sorprendido... No se donde estoy fallando, a ver si me pueden dar una manita y soluciono esto que me tiene despierto de hace dias 
 
Gracias nuevamente, un saludon