The following example from page 508 of PGF manual 2.40 gives me a result that I didn't expect.
\tikz[x=0.75cm,y=0.75cm]
\foreach \x [count=\xi] in {a,...,e}
\foreach \y [count=\yi] in {\x,...,e}
\node [draw, top color=white, bottom color=blue!50, minimum size=0.666cm]
at (\xi,-\yi) {$\mathstrut\x\y$};

I expected to see bc, bd, be, cd, ce, de.
The following gives the expected output:
\tikz[x=0.75cm,y=0.75cm]
\foreach \x [count=\xi] in {1,...,5}
\foreach \y [count=\yi] in {\x,...,5}
\node [draw, top color=white, bottom color=blue!50, minimum size=0.666cm]
at (\xi,-\yi) {$\mathstrut\x\y$};

I guess there is a bug in \foreach.
My own \newforeach gives

using the code
\tikz[x=0.75cm,y=0.75cm]
\newforeach [count=\xi] \x in {a,...,e}
\newforeach [count=\yi,expand before fill] \y in {\x,...,e}
\node [draw, top color=white, bottom color=blue!50, minimum size=0.666cm]
at (\xi,-\yi) {$\mathstrut\x\y$};
This last output was what I expected from \foreach. Unfortunately, \newforeach isn't yet released because it is still being tested. You can ask for it and participate in testing it.
{a,b,c,d,e}instead of{a,...,e}. If you use{a,b,...,e}then the first two columns are correct, but not the third and fourth.. – Peter Grill Sep 16 '12 at 4:14