Sounds like you've either got a clogged fuel filter or a defective fuel pump. Can you hear the pump run when you turn the key on? If not, the first things to check would be the fuse and relay for the fuel pump.
Make sure fuel is getting too the carburetor. The carburetor might not be getting fuel or it could possibly be getting too much fuel. Adjusts the carburetor.
Getting fuel? yes
It sounds like your carburetor is getting clogged.
I think you will find that this truck is fuel injected and has no carburetor. If I am wrong and it has a carburetor it is mounted on top of the engine dead center on the intake manifold.
No fuel is getting to the cylinder, if there is good spark, assuming you checked the plug, wire and distrubitor. If spark is good right at the plug, then the intake valve is stuck shut.
If the carburetor is cleaned on the Yamaha Bruin 350 and it will idle but stall when given gas, it could be that the float is sticking. The carburetor may also need to be adjusted by turning the adjustment screw so that it is not getting too much gas when revved.
The float could be stuck open in the carburetor, causing the leak. The carburetor leak needs to be fixed, this could be all of the problems, it also causes a fire hazard.
Because the engine need more gas to generate more power, but this is wrong, should not happen......, is a fuel injected car or uses a carburetor ????
have your injectors checked
If the only thing wrong with the engine is the cylinder heads, yes you should replace just them, Getting a rebuilt motor is expensive and not needed unless the motor has been damaged beyond repair.
You shouldn't be able to overheat a Geo Metro unless there is something wrong.
It would depend on what is wrong with it.