pseudo-code 
Isn't the psudocode quiescence_search rather wrong when looking at chess?
In chess engines implementations would say:

1) Make an evaluation of the current position (without any search!), assuming this value is save

2) Try capture moves and maybe check giving moves to look whether we can reach more. (using quiescence_search recursively)

Looking at the current "quiete position"-idea of wikipedia you will find:

Assume you have a rather smooth position, your queen can capture a pawn, but your queen will get captured then.

We can detect "quiet position" only if we do that capture moves and decide "no, that pawn-robbery was no good idea!"

If we decide "not a quiet position" because we can capture, we will find, that we will loose our queen.
That result would be completely wrong and implementations are not done in chess engines in that way.

You can find a chess-relevant correct description at
http://chessprogramming.wikispaces.com/Quiescence+Search

Benno (13.8.2010)