I take the key message as:
the raw "thing", reduces to an "idea" which is then unprotected. implementations of the idea are protected. For example, the idea of dropping squares in Tetris according to a set of rules is the "raw" thing and may be copied. The N by N dimensions of the Tetris space is however an implementation and is protected. Various special tweaks to the game would be protected.
Crossing from the Tetris analogy back to Rybka-Fruit, we could, for example consider the mobility code in this light. The raw idea of adding up moves to get a mobility score would be unprotected as an idea, whereas the application of specific weights would be an implementation and therefore protected. Various tweaks to the raw idea would also begin to be protectable, for example weighting forward squares more than backward, or not including enemy pawn attacked squares.
Now, specifically, for Fruit, he adds moves, weights them specifically and uses a start weight offset. Ie basic raw idea plus weights.
For Rybka, he adds moves, weights them differently and does not use a start weight offset. ie basic raw idea plus different weights. according the your Tetris analogy, this is fine. Of course, also the codes and program flows are completely different.
Yet according to your COMPEVAL doc Rybka gets a 80% copy penalty (times 4 for 4 piece types), almost 10% of the total score you gave Rybka to "prove" overlap.
To my mind, this anti-Rybka anomoly in your work arises because of a failure to FILTER unprotectable material before your comparison stage.