I love it when you expect everyone else to be a genius like yourself
I am not a genius. But here we are in a "Development & Technical Discussion" board, so I can expect at least some basic knowledge about programming, because in other cases, those topics should land in some other, general discussion boards. Posting it here means that OP expects a technical response. And if you want to give any technical answer, then you have to know, how internally SHA-256 works. If you treat it like a black box, then that discussion will go nowhere.
it's like we have the means and knowledge at our fingertips to do the things you suggest
You need at least a basic understanding of hash functions, if you want to talk seriously about it. You need to know at least how SHA-256 uses internal 32-bit values, and how they are mixed in each round. If you don't understand this pseudocode from Wikipedia, then sorry, but it is just an entry level to think seriously about any attacks on hash functions:
https://en.wikipedia.org/wiki/SHA-2#PseudocodeIf OP knew how to attack SHA256, he wouldn't be here asking questions about wallets.
If you ask some technical question, and you receive an answer that is beyond your level of understanding, you should not be worried about it. When I started exploring hash functions, I knew nothing about them. Then, I read this pseudocode from Wikipedia. Then I wrote a simple program in C++ to produce a single hash. Then I experimented with it, started tweaking constants, changing parameters, and playing with all of that. And then, after many months, I wrote this topic:
https://bitcointalksearch.org/topic/why-hash-functions-are-safe-5402178As you can see, it took me many months of exploring the topic, to even think about writing something like that. And I am far from being genius or expert, because if you read, how many rounds can be broken on preimage or collision level, and if you read some PDFs, posted by mathematicians, then you will see, that my level of understanding is very basic, compared to them. I am still at round 20, when it comes to SHA-1 preimage. People went much, much further, and achieved much more than that, and I am still learning to get there later.
what if they can use their ability to produce custom double hashes and start collecting all the mining rewards?
As I mentioned, you can overwrite the whole chain, without reaching even collision level of SHA-256. You don't need "to produce custom double hashes", because it is not a low-hanging-fruit. Even if you take "broken" hash functions like MD5 or SHA-1, you still cannot produce preimages for them, you can "only" find collisions. And if you can set a million times higher difficulty, that means you can also easily overwrite the whole chain.
And when they figure out a way to break sha256, what if for years they keep it a secret and then have access to everything dependent on sha256 security?
It depends. Because as I said, it is not a "broken vs secure" game. If you can produce "a preimage", instead of "the preimage", then that kind of attack wouldn't work in some scenarios. For example, if SHA-256 is used to produce a deterministic R-value of a signature, and it is used to concatenate some private key with some message, then if you can produce "a preimage", then you would probably get a completely different (key,message) pair, and then you wouldn't know, what is the original private key, even if you can produce a valid signature for that.
What if they manage to reverse some transactions in the future?
Then they will be reversed, and those funds will be stolen. Later, they could be burned, or returned to the original owner, but any post-attack solution should be backward-compatible, and the chain should follow the heaviest Proof of Work.
Edit:
it's like we have the means and knowledge at our fingertips to do the things you suggest
Currently, you can even find websites, where you can explore SHA-256 round-by-round, step-by-step. So yes, we have that "knowledge at our fingertips", because anyone can visit
https://sha256algorithm.com/ and play with SHA-256 in a browser.