What would be the second greatest bottleneck in the mining process? after the hash generation of course. Lets pretend theres a fantasy world where I can produce an infinite amount of hashes no time at all...

What is the next biggest bottleneck for bitcoin mining?

Is it the bitcoin client? Is the client multi-threaded?
How many requests per second can I send into a bitcoin client for trying hashes?

Or will it be another factor?
You make one call to bitcoind using getblocktemplate to get a template for a block. Then you can generate all the work you need.

In the fantasy world you would find a block instantly. You submit this block and get another template to create the next block.

You would be generating hundreds or thousands of blocks per second. The only thing to slow you down is bitcoind validating blocks and pushing them out on the network.

We will find out what the limit is as new alt coins are created daily, usually with the only "feature" being faster and faster block generation. Once we have an alt coin producing 1000 blocks per second, perhaps we will see some issues (other than disk space).