mmm... entiendo, debes usar las comillas dobles para evaluar tu expresión primeramente...
pero debes evitar evaluar tu variable de asignación, ya verás por que....
Código PHP:
$foo = $row['campo']; // que seria string( date("Ymd") )
$o = null;
eval("\$o = $foo;");
// que sería igual a...
eval('$o = ' . $foo . ';');
el punto es... debes evaluar antes tu expresión, ya que debe evaluarse dos veces....
al evaluarse con comillas simples, tan solo toma el valor textual de la variable... con comillas dobles, evalúa de un tajo esta expresión... dejándola como si la escribieras directamente, pues...