Thanks for testing and the report.
If you apply the patch below and rerun the test like this,
make check -C tests TESTS=ls/stat-free-color VERBOSE=yes
then the offending strace output should help understand where
the extra stat calls are coming from.
For reference, I get this single call on Fedora 15:
stat(".", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
diff --git a/tests/ls/stat-free-color b/tests/ls/stat-free-color
index b1c4744..a1f6418 100755
--- a/tests/ls/stat-free-color
+++ b/tests/ls/stat-free-color
@@ -55,7 +55,7 @@ n_lines=$(wc -l< log)
# Expect one or two stat calls.
case $n_lines in
1|2) ;;
- *) fail=1 ;;
+ *) fail=1; cat log;;
esac
Exit $fail
--------------------------
It might be useful to see the entire strace output, too.
To get that, remove the "-e stat,lstat,stat64,lstat64" argument
from the strace invocation, and rerun the test.

The output of both runs is attached.
stat("/usr/lib64/mpi/gcc/openmpi/lib64") and friends is the culprit.
I can't remember to have anything un-OpenSuSE-11.4-like in my toolchain.
To me it seems that the test should count the difference of the
number of stat,lstat,stat64,lstat64 calls when run
a) as a dummy: ls --color=always --help
and
b) for ".": ls --color=always .
Have a nice day,
Berny