I actually dont think it is all worthless. Imagine a machine running a
server daemon. If you systrace that particurlar daemon to not be able to
fork()/exec*() or system(), you could be quite sure it wont start random
apps on your machine in case someone manages to trick it somehow.
Now, if the attacker already has a local account and/or shell, he might
run races and fool the systrace. But if this daemon was the only way for
said attacker to gain such shell access, and it can be prevented from
doing common stuff needed to get a local shell then you would have a
"safer" system.
In this way, systrace might be usable still, even though it wont suffice
for systrace'd shells given out to bad guys. Same as all other measures
you might have like chroots, stack gaps, randomized mem layouts and
library addresses, they never prevent 100% of all attacks, just many of
them.