I would expect the following code:
\documentclass{article}
\begin{document}
\newcommand{\foo}{NO!}
\begin{tabular}{ll}
FILLER & \foo \\
\renewcommand{\foo}{YES!}%
FILLER & \foo \\
\end{tabular}
\end{document}
to produce
FILLER NO!
FILLER YES!
but instead I get
FILLER NO!
FILLER NO!
Can anyone tell me what is going on here?