Assuming no radiated heat from the flame to the canister, the canister looses heat as it is used. The drop in pressure causes the drop in temperature. The resultant boiling of the "gas" will eventually require heat to be added to the canister to keep the temperature of the "gas" well enough above the boiling point that it can produce enough pressure to force the gas through the jet with enough force to provide the level of flame desired.
Correct. Good summary.
I think my performance problems were due to the LONG run times
I think you've hit the nail on the head there.
You need to add heat. If you try a wind screen, as Roger says, keep checking your canister's temperature with your hand. If the canister feels hot, take corrective action. If it feels really really hot, I hope you're a fast runner. ;)
If you have a remote canister (where the canister is connected to the stove by a hose and not directly screwed into the canister), you can invert the canister if and only if you have a pre-heating tube. Of course you'll need some method of propping the canister so it remains upside down.