Can a miner only receive a reward by finishing the latest block? Let's say there are 1,000 miners out there.  

Every time a new block is added to the chain, all miners receive the updated blockchain instantly. 


Do all miners immediately drop work on mining the current block &amp; begin work on adding a new block?
If one miner has a machine that guarantees he is the fastest to complete a block, will he always receive 100% of the rewards in the network?


Relevant questions:

Can someone with 51% computing power earn more than he deserves?
Do all miners immediately drop work on mining the current block &amp;
  begin work on adding a new block?


When someone mines the block on height N (the current head) and a miner receives that information he stops working on that height and moves to next height N+1 (on top of the block he just received). Although it can happen, because of network delay that miner receives some other block on height N before the block mentioned before. This will cause the fork in the blockchain, but again miner stopped mining on current height and go  mine on top of the block he received first.


  If one miner has a machine that guarantees he is the fastest to
  complete a block, will he always receive 100% of the rewards in the
  network?


The miner will (on average) mine percentage of blocks proportionally to his processing power comparing to power of all miners' power combined (=miners_power/total_mining_power_of_all_miners). The principle is same as in regular lottery: your chances of winning are proportional to the number of tickets you buy, if you have largest number of tickets, other players also can win, but your chances are biggest.