The initial fitness evaluator in GPConfiguration is DeltaGPFitnessEvaluator but DeltaGPFitnessEvaluator does not match to the specification of the interface IGPFitnessEvaluator. The javadoc comment in IGPFitnessEvaluator.isFitter(...) is:
Compares the first given fitness value with the second and returns true if the first one is greater than the second one.
The DeltaGPFitnessEvaluator changes this meaning which may be Ok in some situations. But it should not be the default implementation like it is now in GPConfiguration.init(). My system always returned the worst program instead of the best. :-(
For my system it is not a problem any more because setting the old DefaultGPFitnessEvaluator in GPConfiguration solves the problem. :-)