Hashes have multiple requirements for security. You're talking about only one facet, which is that you cannot be given a hash and produce a matching input without consulting a rainbow table (I think there's a term for this, I forget it though).
So why'd you bring it up?
Cracking sha256 hashes implies trying to reverse a specific hash. There are literally thousands (millions?) of potential inputs that hash to a valid bitcoin mining block output. It's basically a race to find the first one matching the rules of the current block difficulty. The goal isn't to produce any one specific input/hash pair.
Hash collision should always be about finding matching content for a hash.
Be a bitch to search. But damn would we know the topography of the function space.
...I'll see myself out.