How many shares need to be mined before a block is released?
When mining in a pool you are simply looking for simpler blocks than those that are used in the network itself. Let's say you are mining in a pool that counts difficulty 1 shares. That means to find share you have to complete 2^32 hash operations. Since difficulty is defined as the ratio between the current target and the maximum (as in easiest) target, each increment in the difficulty doubles the number of hash operations you'd need to find a share. Hence the probability of a share also being a block is:

share_difficulty / block_difficulty


since the current difficulty (29th of May 2013) is 12'153'411.7098 the chances of a share of difficulty 1 being a block is 1/12'153'411.7098, and the expected number of shares until a block is being found is again 12'153'411.7098. Notice that in the last step we are talking about an expected number of shares. As mining is a random process there is no guarantee of finding a block in finite time.