Put simply, your client always assumes that it will find a block first until it doesn't. Then it just moves on to the next one.
I hope this makes sense....
This is what I was looking for. You (your client) chooses what transactions to put into the block except that it has to have a generation transaction that represents what you would do with the 50 BTC assuming you are the one that solved the block, correct?
Thanks for the explanation. I think I'll go put it up on the wiki.