Evolution is short-sighted in a way that is hard to overstate. It exclusively cares about the current environment, it can only consider alternatives when they have actually been implemented, it can't look-ahead to see if a chain of changes is really desirable, and it can't even look-behind to determine if a previous design is better-suited to the current environment.
A better analogy to the way evolution operates using an engine would be: imagine that you first develop an engine that runs on a pure fuel, but then for a long span of time you can only get an inferior, highly contaminated fuel that produces a corrosive acid while it burns that slowly destroys the engine from the inside. You make a few tweaks to mitigate (but not stop) the damage from the acidic residue, but then you discover that by adding an additional afterburner with a special additive, you can get an extra 8% output from the engine. But then later when the pure fuel is available again, you discover that running the engine with the afterburner on a pure fuel will make it explode in short order. It's too late to redesign the engine without the afterburner -- most of the engines currently in existence suffer from the problem -- but it's pretty easy to re-contaminate the pure fuel so that it continues to produce the acidic residue that is both destroying the engines and expected by the afterburners. Meanwhile, most people still don't want to buy a pure-fuel engine without the afterburners since they have a lower output, and you really don't need most engines to last forever anyway.
That's the sort of bullshit you deal with in an evolved system.
This isn't quite accurate; while some evolutionary pressures are indeed exclusively short-term, not all are.
For instance, ability of eukaryotes to have multiple alleles of individual genes combined with sexual reproduction allow populations to maintain a large diversity of alleles and genes, which have the effect of allowing large-scale "split testing" and also "alternatives" for different current environments that may appear over time.
It seems like you'd like for evolution to have some model, so it can test old designs in the current environment, and simulate forward the current design into future environments, without needing to burn an organism and time on the test. But how could that be possible?
Modern men call it: "There is no free lunch!"