There is a door (actually 2) that are controlled by vacuum in the heater box. The fan blows and pushes the doors into the default position, usually because the vacuum is too low.
There is a rather large vacuum line that comes out of the intake manifold, across the firewall, down the passengers side wheel well under the battery, into a vacuum resivoir behind the front bumper on the passengers side. There is a smaller hard plastic type vacuum line that comes back from the canister, along the passenger side wheel well and through the firewall near the coolant bottle. Someimes there are two hard plastic lines coming from the vacuum canister, the other is for the cruise control.
Sounds like you have a vacuum leak, as your heater controls work sometimes, when the vacuum is high, but not when the vacuum is low (open throttle).
My way of testing the vacuum circuit is primitive, but works. Disconnect the large line from the intake manifold, turn off the heater and suck till you get some vacuum, put your tongue over the end, should hold vacuum. If your leaking vacumm, you have segregate the system (unhook the seprate runs) plug the hose and test them one at a time, including the vacuum line through the firewall to the heater controls.
Places I have found heater system vacuum leaks are, the large line under the battery (rotted from battery acid I guess), the small plastic line near the canister wear it runs across a sheet metal side brace and the connector at the heater controls (a plug with various vacuum lines) that came loose.
Also had a major vacuum leak in the EGR circuit, that I guess lowered the vacuum so much, the heater controls were iffy. Same with a brake vacuum booster leak.
If you´ve had any sort of front collision, chances are the mounts for the vacuum canister are broken and it´s just hanging (or flopping around) in the bumper.
The hard plastic vacuum lines have rubber couplings/connectors, at various places in the run that have come loose on occasion. Body shop forgot to hook one of mine back up.