bueno... lo que pasa es que debes leer el 
manual de PHP 
la función 
eval() evalúa su contenido como código PHP, sin entregar salida alguna... 
el código, se evalúa en el contexto donde se ejecuta... pon atención a esto  
 Código PHP:
    $foo = null;
eval('$foo = date("dMY");');
echo $foo; // 13Jan2009 
    
  ahora, si quieres que devuelva algo.. debes obligarle de manera lógica...  
 Código PHP:
    $foo = eval('?' . '><' . '?php echo date("dMY");');
echo $foo; // 13Jan2009 
    
   PDTA: te sugiero consultes el manual, para entender el porque de estas formas....  
http://php.net/eval