Hi, thanks for your replies.
@robert: eh, looks like that i'm not the only one that incurred in this
@graham: the correct spelling is RattateChess, or Rattatechess if you don't like the uppercase 'C'. Other spellings are also ok for me, but let's say that "RattateChess" is the official one
@dann, tony: The first bug was a threashold bug (and when i started this thread it was not fixed properly, now it should be and i get slightly better test score, but not as good as with the bug

). I store upper and lower bounds in the hashtable, and at quescence nodes if i get a lower bound that is >-WORST_MATE+MAX_PLY it means that the evaluation function had been previously called (and the lower bound has already been improved), so i don't call it again. The bug was because i have an aspiration window of [-WORST_MATE, +WORST_MATE], and i was instead testing if the lower bound is >-INFINITY. The buggy behaviour in negescout is that with the first call you are asking "Is there anything better than a being checkmated?", and you get "Yes, there is!", then at the second (PV) search you ask "How good is it?" and get "It is like being checkmated + 1 centipawn".
The second bug was related to an experimental code to evaluate the dynamism of the position, i add a malus for each of you pawns/pieces that is being defended/attacked at the same time, and a bigger malus if you have something two or more pieces that are being attacked by pawn, or something like that (with some little glitches depending if you are on more or not. I was expecting this last thing that is a bit like a "global SEE" to just smooth out the quiescence, while the first was designed to give a malus to things like the "passive rook" in the end game, or the bishop in c1 that cannot be developed because it must defend the pawn at b2, etc).
In my original idea i hoped that this change would "drive" the search towards more attacking/aggressive positions, and it was actually makeing some good difference in many tactical problems.
The bug was that the values with which a estimated the "stength" of an attack where completely messed up (the attack of a pawn is strong because the pawn can be sacrified, the attac of the queen is weeker, etc).
BTW, the source code of my engine is available at
http://repo.or.cz with full revision history in a GIT repository (if you don't know what GIT is, it is a revision control system, like CVS or SVN but much more powerful), but the code in the repository in this moment is very week because i have an extremely simple evaluation function and no funky search features like futility of late move pruning, because i wanted to test ideas like the one above in a very simple and safe setting (with no success, as this thread is here to prove).
Regards!