Exactly how does one calculate how many BTC they will get a certain hashrate? I am curious on how many estimated BTC I will earn at any hash rate since, I don't really think I'm really earning any BTC at 600 Mhash/s.
The answer of D.H. assumes the hashrate of the network never changes between difficulty jumps. But it can in fact evolve quite a bit, so it can be inaccurate sometimes. Your proportion in the network may change but, until the difficulty adjusts, this will not change your rewards.

Your average reward will be :



So, in your case, with 600 MH/s and a time period of 1 day, the result is, in average, 0.3394412542813765 BTC a day (with current difficulty).

Explanations: the first term is the average reward per difficulty-1 share, and a difficulty-1 share is found in average every 2^32 hashes.

Now, if you're going to be pooled mining, adjust the 50 in the formula to take fees into account (use 48.5 for example for a 3% fee). Same goes when blocks start generating 25 BTC only.