NB. I have completely rewritten this question to hopefully clarify things.
Executive Summary
When creating TikZ diagrams in Beamer, one can add overlay specifications to paths and nodes, as in \node<+-> {X};. Surprisingly, these overlay specifications behave differently than do pure Beamer overlay specifications! Instead of behaving like \uncover<+->{\node {X};} (as one would expect from pure Beamer \items), it behaves like \only<+->{\node {X};}.
Why is this, and is it possible to have \node treat its specification like pure Beamer? See the end of this post for detailed questions.
Background
Action Specifications in "Pure" Beamer
In the Beamer manual, the description of the actionenv environment states:
An
⟨overlay specification⟩without an action is promoted touncover@⟨overlay specification⟩.
Here's an example using itemize lists that shows the promotion of +- to uncover@+---when the rendering of covered material is set to invisible (default) and transparent, respectively--and compares its behavior to that of only@+-.
\documentclass{beamer}
\begin{document}
\begin{frame}{Action Specifications with \texttt{\textbackslash item}}
\begin{columns}
\column{0.35\textwidth}
Below uses spec \texttt{<+->}
\begin{itemize}
\item<+-> X
\item<+-> Y
\item<+-> Z
\end{itemize}
Above uses spec \texttt{<+->}
\vspace{\baselineskip}
\setbeamercovered{transparent}
Below uses spec \texttt{<+->}
with \texttt{transparent}
\begin{itemize}
\item<+-> X
\item<+-> Y
\item<+-> Z
\end{itemize}
Above uses spec \texttt{<+->}
with \texttt{transparent}
\column{0.45\textwidth}
Below uses spec \texttt{<only@+->}
\begin{itemize}
\item<only@+-> X
\item<only@+-> Y
\item<only@+-> Z
\end{itemize}
Above uses spec \texttt{<only@+->}
\end{columns}
\end{frame}
\end{document}

Action Specifications for TikZ \nodes
However, this same behavior is not exhibited by overlay specifications given to TikZ \paths and \nodes:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}{Action Specifications with \texttt{\textbackslash node}}
\begin{columns}
\column{0.35\textwidth}
Below uses spec \texttt{<+->}\\
\begin{tikzpicture}
\node<+-> at (0, 0) {X};
\node<+-> at (0,-0.5) {Y};
\node<+-> at (0,-1) {Z};
\end{tikzpicture}\\
Above uses spec \texttt{<+->}
\vspace{\baselineskip}
\setbeamercovered{transparent}
Below uses spec \texttt{<+->}
with \texttt{transparent}\\
\begin{tikzpicture}
\node<+-> at (0, 0) {X};
\node<+-> at (0,-0.5) {Y};
\node<+-> at (0,-1) {Z};
\end{tikzpicture}\\
Above uses spec \texttt{<+->}
with \texttt{transparent}
\column{0.55\textwidth}
Below uses spec \texttt{<only@+->}\\
\begin{tikzpicture}
\node<only@+-> at (0, 0) {X};
\node<only@+-> at (0,-0.5) {Y};
\node<only@+-> at (0,-1) {Z};
\end{tikzpicture}\\
Above uses spec \texttt{<only@+->}
\vspace{\baselineskip}
Below uses spec \texttt{<uncover@+->}\\
\begin{tikzpicture}
\node<uncover@+-> at (0, 0) {X};
\node<uncover@+-> at (0,-0.5) {Y};
\node<uncover@+-> at (0,-1) {Z};
\end{tikzpicture}\\
Above uses spec \texttt{<uncover@+->}
\end{columns}
\end{frame}
\end{document}

Unlike when it is used with \items, the action specification <+-> (with or without setting transparent) does not allocate space for the \nodes. In other words, the nodes are used in a \only manner, not in the \uncover manner that I expected. Moreover, adding an explicit only@ or uncover@ causes those \nodes to appear on all slides, as if they were given no action specification at all!
Questions
Is there a way to recover full action specifications for paths and nodes? Yes, using
\uncover<+>{\node at (0,0) {X};}etc. is a reasonable workaround, but is there another way to give the action specification to\nodedirectly?If not, where is the code for action-specification-aware
\nodes within the Beamer source? I'd like to try my hand at modifying the code to fix this inconsistency, but I haven't been able to locate the relevant macros.


<+->spec. The<+>is more or less Show only on this slide and remove it on the next one. – percusse Sep 30 '12 at 17:27<+->, there is still a difference:\item<+->leaves space for all\items even on slides where they are invisible, but\node<+->doesn't. I've re-written my question to hopefully clarify. – Henry DeYoung Oct 5 '12 at 20:17